[Android] Local file的時效性管理

開發App時常會需要將一些暫存性的資料儲存在local端,例如:使用者的偏好設定、圖片的cache等等…,這些檔案將會一直存在,除非應用程式被移除,如果程式沒有針對local file的有效性進行管理,那儲存在local端的資料就有可能無限制的增長,相信這對於儲存資源較為有限的手機來說是個大問題。

程式碼說明

本文將以Internal storage的檔案儲存為對象,將每個File設定其有效的時限並根據file的最後修改時間與目前系統時間來計算其有效性,只要系統發現有檔案已超出有效期限,就會自動將其刪除,藉此達成local file的時效性管理。

//File validation(ms)
private final long FILE_AGE=3600000; 

private void checkValidation(String name, long age){
 //get file validated time
 long vTime = getFileStreamPath(name).lastModified()+age;
  
 //check file expiration
 if(vTime< System.currentTimeMillis()){   //如果失效
  //刪除檔案 
  getFileStreamPath(fileName).delete();
 }
}

留言

這個網誌中的熱門文章

[Android] layout_weight的妙用-讓View的大小以百分比率顯示(proportionate size)

[Android] 內部儲存體(Internal Storage)的檔案系統讀寫(File I/O)

【海外婚紗】造型篇-我的超人新祕Sunny-Yang