Как очистить кеш в osmdroid? - PullRequest
0 голосов
/ 29 апреля 2019

Код ниже не работает.

mapView.getTileProvider().clearTileCache();

Есть ли другой способ сделать это?

1 Ответ

0 голосов
/ 29 апреля 2019

Я нашел решение своего вопроса. После просмотра исходного кода, чтобы выяснить, почему кэш не очищается после выполнения

mapView.getTileProvider().clearTileCache();

Я нашел две функции в:

org.osmdroid.tileprovider.modules.SqlTileWriter.java

Функции:

/* purges and deletes everything from the cache database */
 public boolean purgeCache(){..}

и

/* purges and deletes all tiles from the given tile source name from the cache database */
 public boolean purgeCache(String mTileSourceName){..}

Пример удаления кэша для определенного источника плиток:

SqlTileWriter sqlTileWriter = new SqlTileWriter();
boolean isCleared = sqlTileWriter.purgeCache(mapView.getTileProvider().getTileSource().name());
...