我打开了垃圾收集(objective-c 2.0),当我重新启动应用程序时,状态项的图像消失了。我手动管理图像和状态项的内存。
当垃圾收集关闭时(即状态项不会消失),此应用程序可以正常工作。有没有办法让垃圾收集不收集特定变量,或者我应该将其完全关闭吗?当打开垃圾收集时,我的应用程序的内存从 100mb 下降到 2mb。
最佳答案
您如何“手动管理图像和状态项的内存”?如果您使用 release
和 retain
,它们实际上在 GC 下会被忽略。
在 GC 下,如果 (a) 您在 GC 扫描的内存中对它们有强引用,或者 (b) CFRetain
它们,则对象会保留下来。
关于objective-c - 垃圾收集吃掉状态项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3576441/