我打开了垃圾收集(objective-c 2.0),当我重新启动应用程序时,状态项的图像消失了。我是手动内存管理图像和状态项。
当垃圾收集关闭时(即状态项不会消失),此应用程序正常工作。是否有办法使垃圾收集不收集特定变量或我应该完全关闭它?打开垃圾收集时,我的应用内存从100mb降至2mb。
答案 0 :(得分:1)
你是如何“手动管理图像和状态项的内存”?如果您使用release
和retain
,则实际上会在GC下忽略它们。
在GC下,如果(a)您在GC扫描内存或中(b)CFRetain
对它们有强烈的引用,则对象会一直存在。
答案 1 :(得分:1)
保持对它的引用作为某个对象的实例变量,例如它出现的视图的控制器。