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

时间:2012-02-03 04:41:58

标签: ios instruments allocation heapshot

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

screenshot of instruments

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

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

我使用的是Xcode 4.2.1,应用程序正在使用ARC。

修改

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

Heapshots of app running on device

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

1 个答案:

答案 0 :(得分:2)

很难从屏幕截图中找出可能缓存的内容--UIImage会缓存内容,也可能是其他一些系统元素。看起来您可能正在模拟器中运行它,您是否在设备上尝试了快照?

您也可以选择“隐藏系统库”,以便更好地了解您自己的代码涉及多少。