我的应用程序使用了相当多的内存,因此它经常被看门狗杀死。 在我努力减少内存消耗(并改变一些其他的东西)我已经重写了一些系统功能(取而代之的几个CoreText类)。IPhone看门狗&malloc
这实际上进展得非常好,我设法减少了约3mb的内存消耗(根据分配和内存监视仪器)。尽管如此,现在我的应用程序很快就被看门狗的方式杀死了。当旧版本仍在工作(即使消耗更多内存)新版本被操作系统杀死。
我认为这可能是由于过度使用malloc/free来分配/释放大量小堆在堆上。
是这样吗?
其他问题可能导致此行为(内存消耗减少/看门狗杀死应用程序更快)?
这是否可以归因于我的应用程序现在管理内存而不是系统库?
查看控制台和崩溃日志(Xcode - > Organizer - >您的设备 - >控制台/设备日志)。控制台应该说明为什么你的应用程序被杀死,如果它是一个“低内存”杀,它也会列出(按日期排序,检查最新的事件)。它将是“计数常驻页面”列,表示操作系统所看到的“内存使用量”;如果你的应用程序被杀害,它会说“(抛弃)”。 – 2010-08-20 15:16:47