ios的MKMapView在缩放时内存暴涨
ios的mkmapview在zoom时内存会暴涨,并且降不下来。
我在网上搜了很多,也尝试了很多解决方案,比如切换地图显示模式(MKMapType)、不用时释放掉地图。但是并没有明显的解决缩放时的内存问题。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
ios的mkmapview在zoom时内存会暴涨,并且降不下来。
我在网上搜了很多,也尝试了很多解决方案,比如切换地图显示模式(MKMapType)、不用时释放掉地图。但是并没有明显的解决缩放时的内存问题。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
这个内存会暴涨到大几十兆吧,是正常的。
mapview使用的是tiledLayer(瓦片Layer),为了渲染速度,会在内存中缓存地图的图块。
缩放的时候,地图图块在不同层次都会缓存。
我猜想内存吃紧的时候,MKMapView应该会自己清理缓存,所以我觉得不用操心这个题。
PS:1 这是stackoverflow给的方案,真不明白为啥。
PS:
个人更倾向于
在viewDidDisappear方法中把map释放,然后在需要他的时候,重新初始化。
已找到解决方案:
在mapview的regionDidChange方法中,判断map.zoomLevel如果小于一定范围就交替mapType
这样可以有效降低内存峰值。
因为当地图缩小到一定范围,上面的商铺之类的细节早就应该清除掉,以节省内存。
在mapview的regionDidChange方法中,判断map.zoomLevel如果小于一定范围就交替mapType
这样可以有效降低内存峰值。
是怎么做的?????mapView 有 zoomLevel 这个属性吗???