以编程方式清除地图缓存

3
我在使用Android Google Maps API v2创建的SupportMapFragment中启用了缓存。我想要能够在应用程序内部编程方式清除程序的缓存,这是我面临的要求。我正在使用trimCache()方法(由crony_cd在这里描述)来完成此操作。但是,当我执行此方法时,它似乎只删除了一小部分缓存,可能是我自己的应用程序创建的缓存文件,而不是Google Maps API创建的缓存文件。是否有可能清除Maps API产生的缓存?
2个回答

1
据我所知,不行。缓存是由Google地图库在项目到项目的基础上进行控制的。这意味着每个使用地图的应用程序都会缓存瓦片。当您决定使用Google Maps库时,您也必须接受这一点,尝试删除这些文件或通过反射做某些事情可能只会在未来的Google服务更新中损坏您的应用程序。

这正是我所想的。但我发现很奇怪的是,在应用程序设置中允许您强制关闭、清除数据和清除缓存的屏幕反映了缓存地图瓦片的缓存大小总量,好像它是应用程序的一部分。 - Stealth Rabbi
@StealthRabbi 当我查看文件夹(sd/android/data/projectname/cache/)时,我发现有一堆文件在那里,我很确定我没有放过那些文件 :) 我认为这些文件像是指向“真正”的缓存的链接。 - Warpzit
有人得到了这个答案吗? - JAPS
@JalpaShah 已经更新了答案,但我猜作者已经离开了。 - Warpzit

0

对我来说也是一样的:我的缓存包含新文件,其中一个文件的大小为2.2M(它可以增加到20-30M)。只有当我打开地图活动时才会出现这些文件。

所以我猜这是缓存地图。但是我认为,由于大小,它不是一个链接...

目前我没有任何关于如何管理此缓存的想法。我认为这不是我们的工作...


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接