objective-c - 垃圾收集吃掉状态项

标签 objective-c cocoa garbage-collection

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

当垃圾收集关闭时(即状态项不会消失),此应用程序可以正常工作。有没有办法让垃圾收集不收集特定变量,或者我应该将其完全关闭吗?当打开垃圾收集时,我的应用程序的内存从 100mb 下降到 2mb。

最佳答案

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

在 GC 下,如果 (a) 您在 GC 扫描的内存中对它们有强引用,或者 (b) CFRetain 它们,则对象会保留下来。

关于objective-c - 垃圾收集吃掉状态项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3576441/

相关文章:

iphone - 主线程在SCNetworkReachabilityGetFlags上被阻止

ios - kAudioFormat 用于 .aif 音频文件转换?

ios - 在我的应用程序开始时使用 6 个图像为应用程序创建入门教程 - 停留在实际创建图像上

cocoa - NSImage 或 CGImage 的最大位图图像大小?

cocoa - 在 NSDateFormatter 中保留时区

java - 使用多线程使垃圾收集器使用 100% 的 CPU 时间

使用CGo调用带有双指针输出参数的C函数

祖 parent 上的 JavaFX addEventListener 内存泄漏

objective-c - NSTextView 语法高亮

ios - 带有 UIScrollView 的纯自动布局