0

使用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
    }
4

1 回答 1

0

android studio 分析器使用几种不同的方法来捕获应用程序的内存。最常用的方法是轮询“dumpsys meminfo”。然而,这对于想要在 Playstore 中发布的应用程序来说是不可行的。

于 2020-07-21T21:58:14.630 回答