请你用Kotlin 帮我写一个Android端的方法,作用是获取指定包名应用的缓存大小,不适用递归
时间: 2024-05-08 18:19:20 浏览: 100
好的,以下是获取指定包名应用的缓存大小的Kotlin方法:
```
fun getAppCacheSize(context: Context, packageName: String): Long {
try {
val pm = context.packageManager
val ai = pm.getApplicationInfo(packageName, 0)
val cacheDir = ai.dataDir + "/cache"
val cacheDirFile = File(cacheDir)
if (cacheDirFile.exists() && cacheDirFile.isDirectory) {
var size: Long = 0
val files = cacheDirFile.listFiles()
files.forEach {
if (it.isFile) {
size += it.length()
}
}
return size
}
} catch (e: Exception) {
e.printStackTrace()
}
return -1
}
```
请注意,此方法仅获取指定包名应用的缓存大小,不使用递归。
阅读全文
相关推荐


















