public
class
cachedatamanager
return getformatsize(cachesize);
}public
static
void
clearallcache(context context)
}private
static
boolean
deletedir(file dir) }}
return dir.delete();
}// 獲取檔案
// context.getexternalfilesdir() --> sdcard/android/data/你的應用的包名/files/
// 目錄,一般放一些長時間儲存的資料
// context.getexternalcachedir() -->
// sdcard/android/data/你的應用包名/cache/目錄,一般存放臨時快取資料
public
static
long
getfoldersize(file file) throws exception else
}} catch (exception e)
return size;
}/**
* 格式化單位
**@param size
*/public
static string getformatsize(double size)
double megabyte = kilobyte / 1024;
if (megabyte < 1)
double gigabyte = megabyte / 1024;
if (gigabyte < 1)
double terabytes = gigabyte / 1024;
if (terabytes < 1)
bigdecimal result4 = new bigdecimal(terabytes);
return result4.setscale(2, bigdecimal.round_half_up).toplainstring() + "tb";
}}
在你要顯示的textview上顯示清理前的快取大小,在activity的oncreate()方法中直接設定就好了,其實就是呼叫了上面工具類的gettotalcachesize()方法,有異常,需要捕獲。
try
catch (exception e)
再建立乙個內部類,用於清理記憶體,實現了乙個runnable,清理完後發乙個訊息,這裡可以靈活一點。
class
clearcache
implements
runnable
} catch (exception e)
}}
建立乙個handle接收訊息,處理結果,其實用意是清理完了就彈乙個吐司,清理完成,就是這樣,也可以建立乙個dialog,開始清理的時候顯示,在下面方法關閉,然後再設定一遍textview,就是下面這樣。
private handler handler = new handler() catch (exception e) }};
};
最後就是在設定監聽的按鈕中呼叫就好了。
new
thread(new clearcache()).start();
給App新增快取功能 清除快取功能
1 寫成檔案,用text或plist檔案進行資料儲存 1.寫乙個工具類,用以獲取檔案的路徑 獲取documents資料夾路徑 return 資料夾路徑 nsstring getdocumentsfolderpath 獲取documents檔案路徑 param filename 檔名稱 return ...
Android獲取快取大小和清除快取功能
拿去可以直接用 一 清除資料都有哪些 1 file 普通檔案儲存,對應路徑 data data com.files 應用內檔案 得到的方法getfiledir 2 database 資料庫檔案 db檔案 對應路徑 data data com.database 應用資料庫 3 shareprefere...
Android APP中清除快取功能詳解
快取資料的統計分2塊 記憶體 這裡指的是應用程式包目錄所在位置 外存 外部儲存卡 清除的目錄包括 1.data data package name files 2.data data package name cache 3.android data cache 4.webview快取資料 計算快取...