2010-11-20 110 views
0

我創建了一個UIView類似於Apple's Scrolling的例子,我有一個關於UIImage和緩存的問題;我不知道我是否完全理解Apple文檔的實際含義。UIImage initWithContentsOfFile:和高速緩存

docs說:

討論 這種方法加載的圖像數據到存儲器並將其標記爲可淨化。如果數據已清除並需要重新加載,則圖像對象將從指定的路徑再次加載該數據。

實際上,這是什麼意思?

我在這樣讀:如果系統內存不足,屏幕上未顯示的UIImage將被清除,並在需要時從指定的文件重新加載。

目前我正在加載不少圖片,我很關心內存管理;如果我可以讓系統清除/緩存,因爲它看起來合適,但是我懷疑這是一個有效的解決方案。我會很感激任何指針/澄清。

回答

1

您正在正確閱讀。如果你通過圖片應用快速瀏覽,你會發現你有時會打敗該應用,並遇到「加載......」漩渦。與UITableView相同......如果應用內存不足,則會擦除映像,並在用戶需要時重新加載。

對於圖像滾動,UIScrollView內存管理是相當不錯的;在這種情況下,你可能會相信它會照顧內存管理。如果你試圖自己做,或者以其他方式來做,你會冒着一個緩慢的,動搖的UIScrollView的風險,這從來都不是好事。