iOS分配 - 快照中的持久计数并不总是0

Roh*_*nNZ 6 allocation instruments ios heapshot

在分析我的iOS应用程序时,我多次执行一个简单的任务,我从堆栈中推送和弹出视图,然后拍摄快照.每次执行相同的代码,推送的视图只包含一些图像,一旦视图弹出就会被删除.

仪器截图

现在因为几乎一半的快照的持久计数为0,假设没有废弃的内存会安全吗?

我听说持久性计数大于零的行可能是因为某些内部缓存.

我正在使用Xcode 4.2.1,该应用程序正在使用ARC.

编辑:

感谢Kendall Helmstetter Gelner,我设法进一步调试了这个问题.我可能不应该使用模拟器进行调试.我现在在设备上运行它,现在看起来有一个对象没有被释放:

应用程序在设备上运行的快照

在查看扩展的详细信息视图后,我认为我刚刚找到了问题的原因.

Ken*_*ner 2

仅从该屏幕截图中很难判断哪些内容可能被缓存或不被缓存 - UIImage 会缓存内容,也可能缓存一些其他系统元素。看起来您可能正在模拟器中运行它,您是否在设备上尝试过 heapshot ?

您还可以选择旁边的“隐藏系统库”,并更好地了解涉及您自己的代码量。