iOS中潜在的内存泄漏

时间:2013-12-26 01:44:00

标签: ios objective-c google-maps memory-leaks

所以我刚制作了一个应用程序,用于加载带有一些标记的地图。该应用程序有一个导航控制器,从主屏幕切换到地图并返回。在我的手机和模拟器上运行应用程序时,我注意到如果我在主屏幕和地图之间来回切换,应用程序使用的内存量会无限增长。有没有办法协助内存管理过程(我知道系统使用ARC)?我正在使用谷歌地图sdk btw。

谢谢!

3 个答案:

答案 0 :(得分:0)

是否会导致应用耗尽内存并崩溃?

或是它使用大量内存,收到内存警告,还是转储内存?

因此,除非它导致崩溃,否则它可能表现正常。

答案 1 :(得分:0)

Apple在诊断这类问题方面拥有广泛且有充分证据的支持。请参阅"Locating Memory Issues in Your App"

答案 2 :(得分:0)

检查使用NSThreads和GCD块的代码。如果有一些地方你创建了大量的线程,建议添加一个autoreleasepool块。

在这些情况下,内存可能会泄漏:

  1. 如果您正在编写不基于UI框架的程序,例如命令行工具。
  2. 如果你编写一个创建许多临时对象的循环。
  3. 如果您生成辅助线程。
  4. 供参考:Using Autorelease Pool Blocks