我正在开发一款iPad应用程序,并使用Instruments和Analyzer发现了一些内存泄漏。我试图释放一些导致我的应用程序崩溃的对象..应用程序中是否允许内存泄漏?如果是这样,他们被允许的程度如何?有没有办法彻底删除内存泄漏,而应用程序崩溃?
答案 0 :(得分:5)
请阅读this。我们可以创建一个100%无泄漏的应用程序。启用NSZombieEnabled以检查崩溃发生的原因。
答案 1 :(得分:5)
一般来说,可以确保您编写的代码无泄漏。这并不是说Apple框架和内部库根本不会泄漏。
如果您致电alloc
,new
或copy
,请务必致电相应的release
或autorelease
。泄漏很多的应用程序经常会崩溃。经常崩溃的应用可能会被App Store拒绝。
答案 2 :(得分:1)
最好尽可能多地删除泄漏。
但是,如果您的应用程序中仍有一些您无法删除,Apple仍会接受您的应用程序 - 只要它不会频繁崩溃。
只需确保当您alloc
某事时 - release
或autorelease
即可发布。
这是确保不会发生泄漏的最佳方式。
答案 3 :(得分:0)
首先,当应用程序出现内存问题时,泄漏要比后来尝试插入容易得多。幸运的是,在iOS / Cocoa世界中,内存管理规则清晰简单。然而,正如其他人所说,你可能没有写过代码泄漏:(