【问题标题】:Process getRuntime taking a long time - Android处理 getRuntime 需要很长时间 - Android
【发布时间】:2015-03-07 16:38:29
【问题描述】:

我正在开发一个新应用程序,我需要在 android 中输入一些 Shell 命令,但是我的命令似乎需要很长时间才能启动

Process process = Runtime.getRuntime().exec("top -m 10 -n 10");
 BufferedReader reader = new BufferedReader(
 new InputStreamReader(process.getInputStream()));

 while ((line = reader.readLine()) != null) {
    //Parsing result to a StringBuffer
    (...)
 }

将近一半的总时间​​(34秒)用于启动进程,正常吗? 有没有办法做某事。这是在 Async Task 中,但是在前 17 秒内 textView 上没有任何显示,这很烦人...

如果您有任何想法,请发表评论!

【问题讨论】:

    标签: android android-asynctask runtime.exec


    【解决方案1】:

    -n 10 表示update the display 10 times and then exit。您不需要 10 次更新,1 次就足够了。改用这个命令,它应该会更快:

    top -m 10 -n 1
    

    【讨论】:

    • 好吧,我最终想要的不是连续输出,所以-n 10用于测试命令的速度,无论如何在逐行读取时间时,第一行花了18922 milisec,然后其他线路只有 185mili,因此我认为问题出在构建过程中,但也许这种延迟是正常的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-14
    • 2016-10-21
    • 2014-07-29
    • 1970-01-01
    相关资源
    最近更新 更多