這是一個相當簡單的問題,但我無法在我的搜索中找到明確的答案。從內存的角度來看,帶有非持久存儲的NSArray和Core Data是如何工作的?
如果我有一個NSArray
,並添加五十個1MB UIImage
s,那麼從中扣除50MB?該應用程序是否會使用50MB以上的內存?它會將它存儲在磁盤上嗎?
Core Data的情況也是如此,而不是使用持久性存儲,我將它存儲在內存中。核心數據存儲的大小是否佔用了大量的內存/內存,或者它會駐留在磁盤上,並在應用程序執行完成時被擦除?
我很擔心是否我應該在NSArray
被存儲在UIImage
小號幾十兆,或者我應該使用NSCache
(我寧願不,我寧願永遠不會失去任何圖像)。
保留儘可能少的圖像,你可以在內存中。您將使用比原始圖像數據更多的內存。如果你做了一些事情來實現它,它只會被寫入磁盤。 – Wain