記:getExternalCacheDir與getCacheDir的區別

getCacheDir

  getCacheDir()其對應着應用程序內的內部緩存,用來存儲臨時數據。因此在系統空間較少時有可能會被自動清除。存放路徑一般是/data/data/<應用包名>/cache目錄。

getExternalCacheDir

  getExternalCacheDir()對應着應用程序內的外部緩存,同樣是用來存儲臨時數據的。但是其由於脫離了應用管理,因此並不會在空間少時被自動清除。存放路徑一般是/storage/sdcard/Android/data/<應用包名>/cache目錄。

應用卸載

  當用戶卸載當前應用程序時,以上兩個方法裏的內容都會隨着應用卸載所清除。若有想要一直保存的內容,可以調用getExternalStorageDirectory目錄下(抑或其他sd卡下的目錄)進行保存。

  當然,如果想要保存文件數據(長時間保存),上面對應着getFilesDir()和getExternalFilesDir(),類比即可。

筆記

  可以看到,當有External(外存)時,數據都是緩存在sd卡中的(若存在);否則則是內部緩存(可管理)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章