VM:Allocation 导致应用崩溃

VM:Allocation causes app to crash

我的应用程序使用 NSTimer 变量,它使用 NSNotificationCenter.postNotificationName 到 post 每秒通知 UIViewController class。

问题是应用程序偶尔崩溃,没有堆栈跟踪,这意味着这是一个内存问题。

在 Instruments 中,发生这种情况是因为 VM:Allocation 增加了 1.78MB。分配只是随机发生的。

这是我启动计时器后的样子:

这是我开始计时几分钟的时间 所以,

  1. 我没有看到堆栈跟踪或任何东西。我该如何进行调试 这个?

  2. 应用只用了7.3MB而且在前台,为什么会出现 杀?? :(

  3. 我只保留定时器运行,该方法只更新现有的 变量,是什么触发了这个 VM:Allocation???

我用 Swift,如果重要的话

谢谢,

原来问题出在 for 循环中。我有一个很大的 for 循环,它做很多赋值,调用 API,等等,每次调用 NSTimer 函数时,有时迭代次数有点太高了VM 分配开始。

我认为答案是在 for 循环中使用 autoreleasepool {}。从那以后再没有发生过崩溃。 观看这些 WWDC2013 视频在想法方面有一点帮助,但不是直接的。

Improving Your App with Instruments

Intermediate Swift