2012-12-05 27 views
7

根據我的理解,我們將經常訪問的對象緩存在比普通磁盤讀取更容易訪問的內存段中。getExternalCacheDir()如何在Android上工作?

getExternalCacheDir(),而不是getCacheDir()指向外部文件系統 - 這在我看來是正常的getExternalFilesDir()

Android如何優化對ExternalCacheDir的訪問?它是否像Linux上的「交換」空間?

+0

請記住,使用這些方法之一存儲的數據可完全訪問其他具有READ_EXTERNAL_STORAGE權限的應用程序。您應該假設存儲在這裏的任何數據都可以被用戶設備上的其他應用讀取和修改(甚至可能以惡意的方式)。爲了更安全的數據存儲,請改用getDir()或getCacheDir()。 – Ajedi32

回答

6

getExternalCacheDir()getExternalFilesDir()是兩個不同的目錄。

區別在於第一個僅用於臨時文件或緩存文件,該文件或緩存文件可以被系統或用戶刪除(通過設置相應的按鈕)以重新獲得空間。

第二個用於永久文件。無論如何,你必須考慮到關於getExternalCacheDir()返回的目錄文檔的考慮因素。

+0

我基本上想知道外部文件系統上的緩存如何提供更快的訪問。這個答案沒有幫助。 – SlowAndSteady

+2

術語高速緩存用在那些方法中,而不是與計算機相關的早期方式,並不表示這些目錄提供了更快的訪問速度(正如你所說,它是具有相同訪問時間的相同文件系統),而是表示這些目錄有點隱藏和有用的存儲應用程序可能需要的文件。 – Jorge

+1

如果你把這個評論作爲答案,我可以接受它。 – SlowAndSteady

相關問題