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出於某種原因 –