安卓如何动态获取应用程序的内存使用情况,例如使用安卓工作室分析器显示



使用getRuntimeMemoryUsage()Runtime.getRuntime()获取内存使用情况

但是与探查器进行比较时找不到匹配项。

即分析器内存的java显示22MB 但代码getRuntimeMemoryUsage()返回 12MB。

如何获取探查器中显示的内存使用情况?

fun getRuntimeMemoryUsage(): Long {
//calculate memory usage of currently running application:
var freeSize = 0L
var totalSize = 0L
var usedSize = 0L
try {
val runtime = Runtime.getRuntime()
runtime.gc()
freeSize = runtime.freeMemory() / 1048576L
totalSize = runtime.totalMemory() / 1048576L
usedSize = (totalSize - freeSize)
val maxHeapSizeInMB = runtime.maxMemory() / 1048576L
} catch (e: Exception) {
e.printStackTrace()
}
return usedSize
}

android studio 分析器使用几种不同的方法来捕获应用程序的内存。最常见的方法是轮询"dumpsys meminfo"。但是,对于想要在Play商店中发布的应用程序来说,这是不可行的。

相关内容

最新更新