開發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(); } }