我正在编写一个Android应用程序,我需要在启动时阅读7个SYSTEM文件。最有效的方法是什么?
这是我现在的代码而且速度很慢
读取(file1的); 读(文件2); ... 读(file7);
...
public static String read(String file) {
String fileContents = "";
try {
String[] args = {"/system/bin/cat", file };
ProcessBuilder cmd = new ProcessBuilder(args);
Process p = cmd.start();
InputStream stream = p.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(stream));
fileContents = reader.readLine();
reader.close();
stream.close();
}
catch (IOException e) {
e.printStackTrace();
}
return fileContents;
}
必须有一些方法来捕获每个文件而不关闭流,这应该会显着加快速度。我尝试使用7 cat cmds制作一个shell脚本并读取输出但是所有内容都被捣碎在一起,我无法分割结果。
我尝试用cat cmds拆分cat cmds以在输出中形成一个分隔符:
cat file1
echo !
cat file2
echo !
但是传教士“!”不显示在输出中,我无法弄清楚为什么。
有什么建议吗?
答案 0 :(得分:0)
我猜你可以尝试多个线程。可能7会做得很好,但你必须检查7对于你所针对的最慢的设备是否不是太多。您需要为UI线程留下一些CPU。