u9u8网站建设,怎么架设网站,怎么看网站是不是h5做的,网站建设流程步骤怎么样Android开发获取缓存#xff0c;删除缓存
app设置中往往有清理缓存的功能。会显示当前缓存时多少#xff0c;然后可以点击清理缓存
直接上代码#xff1a;
object CacheHelper {/*** 获取缓存大小* param context* return* throws Exception*/JvmStaticfun getTotalCache…Android开发获取缓存删除缓存
app设置中往往有清理缓存的功能。会显示当前缓存时多少然后可以点击清理缓存
直接上代码
object CacheHelper {/*** 获取缓存大小* param context* return* throws Exception*/JvmStaticfun getTotalCacheSize(context: Context): String {val cacheSize getFolderSize(context.cacheDir)if (Environment.getExternalStorageState() Environment.MEDIA_MOUNTED) {// cacheSize getFolderSize(context.getExternalCacheDir());}return getFormatSize(cacheSize.toDouble())}/*** 清除缓存* param context*/fun clearAllCache(context: Context) {deleteDir(context.cacheDir)if (Environment.getExternalStorageState() Environment.MEDIA_MOUNTED) {deleteDir(context.externalCacheDir)}}private fun deleteDir(dir: File?): Boolean {if (dir ! null dir.isDirectory) {if (dir.list() null) {return false}val children dir.list() ?: return falsefor (i in children.indices) {val success deleteDir(File(dir, children[i]))if (!success) {return false}}}return dir?.delete() ?: false}// 获取文件大小//Context.getExternalFilesDir() -- SDCard/Android/data/你的应用的包名/files/ 目录一般放一些长时间保存的数据//Context.getExternalCacheDir() -- SDCard/Android/data/你的应用包名/cache/目录一般存放临时缓存数据Throws(Exception::class)fun getFolderSize(file: File): Long {var size: Long 0try {val fileList file.listFiles()for (i in fileList.indices) {// 如果下面还有文件size if (fileList[i].isDirectory) {getFolderSize(fileList[i])} else {fileList[i].length()}}} catch (e: Exception) {e.printStackTrace()}return size}/*** 格式化单位* param size* return*/private fun getFormatSize(size: Double): String {val kiloByte size / 1024if (kiloByte 1) {// return size Byte;return 0K}val megaByte kiloByte / 1024if (megaByte 1) {val result1 BigDecimal(java.lang.Double.toString(kiloByte))return result1.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() K}val gigaByte megaByte / 1024if (gigaByte 1) {val result2 BigDecimal(java.lang.Double.toString(megaByte))return result2.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() M}val teraBytes gigaByte / 1024if (teraBytes 1) {val result3 BigDecimal(java.lang.Double.toString(gigaByte))return result3.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() GB}val result4 BigDecimal(teraBytes)return result4.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() TB}
}有Android开发或者鸿蒙开发需求或者问题的可以私信我我每天都看私信的