如何清除osmdroid中的缓存?

时间:2019-04-29 14:17:51

标签: android caching osmdroid

下面的代码不起作用。

mapView.getTileProvider().clearTileCache();

还有另一种方法吗?

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。在检查源代码之后,找出执行

后未清除缓存的原因
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());