I'm having a hard time fixing memory related issues in my iPad application, but, good thing is, that I've learned about "heapshots" because of that. Bad thing is, I'm still unable to figure out what some of the information provided to me means.
那么,这些仍然存在并占用堆增长中描述的大部分内存的非对象是什么?有可能摆脱它们吗?看起来大部分都与各种绘图操作、CALayer、上下文等有关(类别:“Malloc”或“Realloc”)。如果需要,我可以提供更多详细信息。
这意味着内存块不是为对象分配的(例如纯 c 结构)。
通常它们是由系统框架代码分配的,因此还有一些其他对象会泄漏。例如。如果你忘记释放 UIView,那么它的图层也不会被释放。
您可以打开“扩展详细信息”面板(请参阅“查看”菜单)并分析调用堆栈。请记住这一点release
您忘记的可能会导致大量内存泄漏,因此请尝试修复最简单的泄漏,然后检查其他泄漏是否消失。
又一招。您可以将应用程序的功能块一一禁用,看看泄漏是否消失。因此,您将能够找到模块(类、功能块等)发生的位置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)