【问题标题】:android, how to use "dumpsys meminfo" programmaticallyandroid,如何以编程方式使用“dumpsys meminfo”
【发布时间】:2020-09-17 02:12:05
【问题描述】:

想以编程方式使用“dumpsys meminfo”来打印应用程序在特定时间点的内存使用情况,

添加<uses-permission android:name="android.permission.DUMP" />,并在模拟器上使用以下代码进行测试,但出现异常: “java.io.IOException:无法运行程序“adb”:错误=13,权限被拒绝”

    fun dump() {

        val process = Runtime.getRuntime().exec("adb shell dumpsys meminfo  com.testapp.demo")
        process.waitFor()
        val bufferedReader = BufferedReader(InputStreamReader(process.getInputStream()))
        var buffer: String? = ""

        while (bufferedReader.readLine().also({ buffer = it }) != null) {

            Log.i("+++", buffer)

        }
        buffer = ""
        val buffered = BufferedReader(InputStreamReader(process.getErrorStream()))
        while (buffered.readLine().also({ buffer = it }) != null) {
            Log.w("+++", buffer)
        }
    }

【问题讨论】:

    标签: android-memory dumpsys


    【解决方案1】:

    Runtime.getRuntime().exec() 在平板内部运行,所以adb shell 是不必要的命令。

    因此你可以试试这个...?

    Runtime.getRuntime().exec("dumpsys meminfo com.testapp.demo")
    

    【讨论】:

    • @Simas Joneliunas 感谢您纠正我的英语!
    猜你喜欢
    • 1970-01-01
    • 2013-07-29
    • 1970-01-01
    • 2015-09-01
    • 1970-01-01
    • 2020-12-21
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    相关资源
    最近更新 更多