垃圾收集吃状态项

时间:2010-08-26 15:02:02

标签: objective-c cocoa garbage-collection

我打开了垃圾收集(objective-c 2.0),当我重新启动应用程序时,状态项的图像消失了。我是手动内存管理图像和状态项。

当垃圾收集关闭时(即状态项不会消失),此应用程序正常工作。是否有办法使垃圾收集不收集特定变量或我应该完全关闭它?打开垃圾收集时,我的应用内存从100mb降至2mb。

2 个答案:

答案 0 :(得分:1)

你是如何“手动管理图像和状态项的内存”?如果您使用releaseretain,则实际上会在GC下忽略它们。

在GC下,如果(a)您在GC扫描内存中(b)CFRetain对它们有强烈的引用,则对象会一直存在。

答案 1 :(得分:1)

保持对它的引用作为某个对象的实例变量,例如它出现的视图的控制器。