2011-08-15 19 views
1

我通常知道我有兩個選擇的地方:臨時文件夾或緩存文件夾。iphone - 如果我不關心它的持久性,我應該在哪裏存儲圖像文件?

但是誰能告訴我確切的區別?

我的應用會根據用戶的要求下載相當多的圖片。當然,沒有人永遠需要它們在iphone的磁盤上。但是我仍然需要將它們緩存起來,以防用戶在相對較短的時間內回去查看它們。

臨時文件夾可以是一個地方去,據我瞭解,它將被系統清除。但是什麼時候它會被清除?

對於緩存文件夾,緩存文件夾是否會定期清理?如果緩存文件夾不會被清除,並且我將這些圖像寫入Cache文件夾,那麼長期佔用太多空間,這對用戶當然是不利的。

那麼,有人可以給我一些提示,並告訴我這兩個文件夾之間的確切區別嗎?

感謝

回答

1

我會與緩存去看看文件夾 - 在NSPathUtilities.h的相關方法得到的那一個。 Caches文件夾不會被備份,但它也不一定會被清空,臨時文件夾也不會被清空。 /tmp通常會在重新啓動後清除(可能),但在iPhone上這並不是普遍發生的事情。

最好的方法是使用一些基於日期的方案將數據放入Caches文件夾,以便在您認爲有用時清除它的內容。您可以使用該文件的創建日期或修改日期來通知此決定,並且只需在每次啓動(或每個進入前臺事件)時進行掃描,以確定哪些項目足夠長以至於應該將其移除。

+0

謝謝。但實際上我不想打擾任何實用程序來清除緩存文件夾。我希望系統能夠自動處理。所以tmp和cache只有在系統重啓時清除tmp的方式纔有區別,對於緩存,不需要清除機器? –

+0

正確。 Caches文件夾用於可根據需要重新創建的數據,但您已經預先構建了該文件夾。除非絕對必要,否則它不會刪除所有數據,並且假定如果緩存被清除,下次啓動時應用程序會重新生成相同數量的數據,這是公平的,因爲它需要它。 –

相關問題