NSZombieEnabled应该closures发布的应用程序或不?
随着NSZombieEnabled
打开它将提供一些防范在运行时发生的EXC_BAD_ACCESS
问题。
我正在做双重努力,以确保没有/less量内存泄漏,但我可能会释放,所以NSZombieEnabled
打开将有助于防止这种情况,我是对的吗? 或者NSZombieEnabled
打开,所有内存释放操作将被转换为无操作? 这将是一个大问题是这样的。
不,你不应该附带NSZombiesEnable
。 僵尸通过将释放对象的isa指针投射到“僵尸”类来工作。 除非启用NSDeallocateZombies
否则不会释放此对象的存储。 因此,如果你让僵尸启用,你可能会泄漏内存。
另外,苹果表示不要在NSDebug.h
启用它:
在此软件的未来版本中,不要依赖代码中任何这些符号的存在。 当然,不要依赖生产代码中这个头文件中的符号。
如果在AppStore上发布,我的猜测是你不会通过审查。
你应该closures它,因为NSZombieEnabled意味着你分配的对象没有被释放,因此你的应用程序将会泄漏。
http://www.cocoadev.com/index.pl?NSZombieEnabled
“NSZombieEnabled不应永久保留,因为默认情况下,任何对象都不会被真正释放,从而使您的应用程序使用大量的内存”