下面的代码不起作用。
mapView.getTileProvider().clearTileCache();
还有另一种方法吗?
答案 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());