0

我正在编写一个 android 应用程序,我需要在启动时读取 7 个 SYSTEM 文件。最有效的方法是什么?

这是我现在的代码,它很慢

读取(文件 1);读取(文件2);...读取(文件7);

...

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 脚本并读取输出,但所有内容都混合在一起,我无法拆分结果。

我尝试使用 echo cmds 拆分 cat cmds 以在输出中形成分隔符:

cat file1
echo !
cat file2
echo !

但是分隔符“!” 不要出现在输出中,我不知道为什么。

有什么建议么?

4

1 回答 1

0

我想你可以尝试多个线程。可能 7 就可以了,但您必须检查 7 对于您所针对的最慢的设备是否太多。您需要为 UI 线程留出一些 CPU。

于 2013-04-20T19:21:31.463 回答