NSImage +内存管理

时间:2011-07-12 14:53:49

标签: cocoa macos memory-management nsimage

NSImage *randomImage = [[NSImage alloc] initWithContentsOfURL:imageURL];
[randomImage release];

为什么内存使用量仍在增加?什么在使用那个记忆?我发布了NSImage对象。 (不,它不是URL)

1 个答案:

答案 0 :(得分:2)

图片可能正在缓存中。看看[img setCacheMode:]

你真的尝试过500次,或者你是否在猜测这种行为?我的猜测是缓存会在某个上限被清除 - 也许50mb不是那么多?

重要的是要注意-release不等同于free()destroy(),即使您在alloc init后立即调用它,也不应该假设该物体已被清除。这就是为什么对-retainCount滥用者有如此多的仇恨,认为这是调试内存管理的好方法。