【问题标题】:Memory Leak with MapView ios7MapView ios7 内存泄漏
【发布时间】:2023-03-22 06:45:01
【问题描述】:

我有 2 个viewControllers:第一个是mainViewController,它在按下按钮后使用 Push 方法发送到第二个 viewController,第二个 viewController 有一个 mapView 显示我的位置。问题是我第一次启动应用程序时,mainViewController 使用的内存接近 15mb,但是在切换到第二个 viewController 并按下后退按钮以返回 mainViewController 后,使用的内存接近 40mb,我正在使用故事板和弧线有人有解决方案吗?

【问题讨论】:

  • 已经检查过那个帖子但没有运气。我尝试了发布的解决方案,但它没有释放内存
  • 也许切换到谷歌地图?
  • 如果没有人对此有解决方案,我想我将不得不
  • 出于兴趣,Leaks Instrument 是否真的表明内存是不再被引用和可访问的对象,或者是引用循环?另请注意,如果您在调试模式下运行并且启用了 NSZombies,则内存可能不会像在发布模式下那样快速回收。

标签: ios objective-c xcode memory-leaks mkmapview


【解决方案1】:

在你的第二个视图控制器中尝试这个viewWillDisappear:(BOOL)animated 方法,即带有地图的那个:

mapView.showsUserLocation = NO;
mapView.delegate = nil;
[mapView removeFromSuperview];
mapView = nil;

【讨论】:

  • 试过了,但我仍然有内存泄漏.. 无论如何感谢您的帮助:)
  • @Signo 是的,MKMapView 非常占用内存并且有很多泄漏。幸运的是,如果您确实有内存警告,Apple 会很好地处理地图视图,因此只要您尽一切可能将其保持在较低水平,您的应用就不会崩溃。
  • ye,即使这很烦人,我想我必须适应这些“泄漏”,也许我会尝试按照您之前的建议实施谷歌地图,再次感谢您的时间! :)
猜你喜欢
  • 2013-11-13
  • 2016-07-20
  • 2018-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多