处理getRuntime需要很长时间-Android
我正在开发一个新的应用程序,我需要在android中输入一些Shell命令,但是我的命令似乎需要很长时间才能启动处理getRuntime需要很长时间-Android,android,android-asynctask,runtime.exec,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(
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上没有显示任何内容,这非常烦人
如果你有任何想法,请发表评论
-n 10
表示更新显示10次,然后退出
。你不需要10次更新,1次就足够了。改用此命令,速度应该快得多:
top -m 10 -n 1
好吧,我最终想要的不是一个连续的输出,所以
-n10
被用来测试命令的速度,不管怎样,当逐行读取时间时,第一行需要18922毫秒,而另一行只需要185毫秒,因此我想问题出在进程构建中,但这种延迟可能是正常的?