处理getRuntime需要很长时间 - Android

时间:2015-03-07 16:38:29

标签: android android-asynctask runtime.exec

我正在开发一个新的应用程序,我需要在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秒)用于启动过程,这是正常的吗? 有办法做点什么吗?这是在异步任务中,但是对于前17秒,textView上没有任何显示,这非常烦人......

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

1 个答案:

答案 0 :(得分:0)

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

top -m 10 -n 1