NSImage *randomImage = [[NSImage alloc] initWithContentsOfURL:imageURL];
[randomImage release];
为什么内存使用率仍然上升?什么是使用该内存?我释放NSImage对象。 (不,它不是URL)NSImage +内存管理
NSImage *randomImage = [[NSImage alloc] initWithContentsOfURL:imageURL];
[randomImage release];
为什么内存使用率仍然上升?什么是使用该内存?我释放NSImage对象。 (不,它不是URL)NSImage +内存管理
这些图像可能被缓存。看看[img setCacheMode:]
你真的尝试做500次或者是你的行为猜测?我的猜测是,缓存将被清除一些上限 - 也许50MB不是那么多?
重要的是要注意的是-release
不等同于free()
或destroy()
,即使你alloc init
后立即调用它,你不应该让该对象已被清除掉的假设。这就是为什么对-retainCount
滥用者非常讨厌,认为这是一种调试内存管理的好方法。
没有我真的尝试了500次,甚至给它5分钟,“恢复”其用法。是的,我知道,(释放不等于自由()),但是,这并不意味着它应该继续使用内存 –
我认为这是与文件IO,运行“清洗”后的记忆是罚款,所以内存被清除,系统只是懒得把它清理干净(因而makred免费,在需要的时候free'd),但是,这只是胡乱猜测.. –
使用字典缓存许多图标,我现在需要的。 –
其他东西必须消耗内存 – 2011-07-12 14:56:58
这样做500次与4kb图像会给我50MB + RAM额外使用 –
@Vince是啊我知道,但是什么?我写了一个测试应用程序来做到这一点,其NSImage出于某种原因 –