我有一个使用斯科布勒地图框架(SKMaps)的iOS应用程序。我发现它使用了大量的内存。诚然,我在其中添加mapView的UIViewController在没有mapView的情况下很重,但它在SKMaps框架2.5.1版中工作得很好。我使用的是光照贴图。
现在,由于3.0光照贴图不再可用,我必须使用完整的贴图。现在相当多的用户报告在导航时崩溃(有时在10分钟后,有时在3小时后,等等)。经过(大量)分析,这些都是与内存相关的(我的应用程序在JetsamEvent日志中显示为largestProcess,原因是"vnode-limit")。
我已经从我自己的应用程序元素和数据结构中剥离了所有东西,但SKMaps框架仍然占我应用程序总内存使用量的85%。我还实现了didReceiveMemoryWarning,并为我自己的元素添加了我能做的。我还使用仪器和Xcode8内存图进行了大量的内存分析。未发现泄漏。
我的猜测是,它与2.5.1中的完整贴图和光照贴图相关。
有没有办法在收到内存警告时清除(或减少) SKMaps的内存缓存?
发布于 2017-03-08 20:59:57
设备上缓存的地图瓦片的大小可能会导致问题。在这种情况下,SKTilesCacheManager类可能会对您有所帮助。它为tiles缓存机制提供了高级管理。
https://stackoverflow.com/questions/42544029
复制相似问题