当前位置:  开发笔记 > IOS > 正文

iPhone - 应用程序被弹出

如何解决《iPhone-应用程序被弹出》经验,为你挑选了1个好方法。

我有一个应用程序被iPhone OS弹出"低内存".

我已通过仪器通过它,我看到零泄漏,内存使用量约为640 kb.

将对象添加到屏幕时,应用程序崩溃.

这是它的工作原理.我有一个基于UIImageView的类非常简单,并为对象添加了一些属性.此类用于创建的对象.

当用户点击按钮时,将创建该类的新图像并将其添加到self.view.

添加约15个对象后,应用程序弹出低内存警告.

仪器报告没有显着的内存使用.即使添加了15个对象,ALL ALLOCATIONS条目也不会超过660 kb.每个对象可以是五个120x120像素图像中的一个.

如果不是对象分配或泄漏,那会是什么?请告诉我应该遵循哪些方向来找到问题.

谢谢你的帮助.



1> Brad Larson..:

ObjectAlloc工具不指示应用程序中的所有内存使用情况.视图和其他可视元素在ObjectAlloc中未显示其完整大小,因此您需要使用Memory Monitor工具在任何给定时间查看应用程序的实际内存大小.

此外,仅仅因为仪器不报告泄漏并不意味着它们不在那里.通过Clang Static Analyzer运行您的应用程序,再次查看潜在的内存泄漏(通过Xcode 3.2下的Build | Build and Analyze或下载独立工具).同样,即使这个过去了,你仍然看到不断增加的内存消耗,你就会在某个地方泄漏.

您在评论中提到使用Quartz绘图.您需要记住Quartz中使用的Core Foundation对象也遵循特定的内存管理模型,其中您使用Create其名称中的函数创建的所有内容都必须使用匹配函数来释放CFRelease().如果忘记这一点,这可能不会显示为泄漏,但确实如此.

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有