分配"快照"中的<非对象>是什么意思?

sni*_*kst 26 iphone xcode objective-c instruments ipad

我很难在我的iPad应用程序中修复与内存相关的问题,但是,好消息是,我因此而了解了"快照".不好的是,我仍然无法弄清楚提供给我的一些信息是什么意思. 替代文字

那么,这些非对象仍然存在并占据堆增长中描述的大部分内存?有可能摆脱它们吗?看起来大多数都与各种绘图操作,CALayer,上下文等有关(类别:"Malloc"或"Realloc").如果需要,我可以提供更多细节.

Yur*_*ras 20

这意味着内存块不是为对象分配的(例如纯c结构).通常它们是由系统框架代码分配的,因此还有一些其他对象泄漏.例如,如果你忘了发布UIView,那么它的图层也不会被释放.

您可以打开"扩展详细信息"面板(请参阅"查看"菜单)并分析调用堆栈.请记住,release您忘记的那个可能会导致大量内存泄漏,因此请尝试修复最简单的泄漏,然后检查其他泄漏是否消失.

还有一招.您可以逐个禁用应用程序的功能块,看看泄漏是否消失.因此,您将能够找到发生它的模块(类,功能块等).