計算Android app快取大小以及清除快取

2021-08-21 09:19:50 字數 1210 閱讀 7095

這是乙個常用功能,記錄一下

**才是精華

object

cacheutils

return getformatsize(cachesize.todouble())

}/**

* 清理全部快取

** @param context

*/fun clearallcache(context: context)

}/**

* 刪除檔案

** @param dir

* @return

*/private fun deletedir(dir: file?): boolean

if (dir.isdirectory) }}

return dir.delete()

}// 獲取檔案

--> sdcard/android/data/你的應用的包名/files/目錄,一般放一些長時間儲存的資料

--> sdcard/android/data/你的應用包名/cache/目錄,一般存放臨時快取資料

@throws(exception::class)

fun getfoldersize(file: file?): long else

}} catch (e: exception)

return size

}/**

* 格式化單位

** @param size

* @return

*/fun getformatsize(size: double): string

val megabyte = kilobyte / 1024

if (megabyte < 1)

val gigabyte = megabyte / 1024

if (gigabyte < 1)

val terabytes = gigabyte / 1024

if (terabytes < 1)

val result4 = bigdecimal(terabytes)

return result4.setscale(2, bigdecimal.round_half_up).toplainstring() + "tb"}}

效果圖如下

android app 快取路徑

其中在外部儲存快取時部分機型會獨佔儲存裝置導致應用崩潰。dir this.getexternalcachedir getabsolutepath log.i 列印cache dir dir this.getfilesdir getpath log.i 列印filesdir dir dir envir...

Android app的檔案快取目錄

data data packagename files 檔案快取目錄,一般存小的檔案快取,如果是,不建議放這裡,一般放到外接卡。file file getfilesdir 返回該目錄 寫檔案到該目錄下可以像這樣 fileoutputstream fos null try catch exceptio...

Android APP中清除快取功能詳解

快取資料的統計分2塊 記憶體 這裡指的是應用程式包目錄所在位置 外存 外部儲存卡 清除的目錄包括 1.data data package name files 2.data data package name cache 3.android data cache 4.webview快取資料 計算快取...