我正在使用我在网络上找到的OBJ Loader库,我想研究加速它。
它的工作原理是逐行读取.OBJ文件(它基本上是一个带有数字行的文本文件)
我有一个12mb的OBJ文件,相当于大约400,000行。足以说明,尝试逐行阅读需要永远。
有没有办法加快速度?它使用BufferedReader读取文件(存储在我的资产文件夹中)
以下是图书馆的链接:click me
答案 0 :(得分:0)
只是一个想法:在获取文件后,您可以先使用File类获取文件的大小:
File file = new File(sdcard,"sample.txt");
long size = file.length();
返回的大小以字节为单位,因此,将文件大小分成相当大数量的块,例如5,10,20 e.t.c.为每个块指定并保存字节范围。创建与上面创建的每个块相同大小的字节数组,然后" assign"每个块到一个单独的工作线程,它应该使用read(缓冲区,偏移量,长度)方法将其块读入其对应的字符数组,即read" length"每个块的字符进入数组"缓冲区"从数组索引开始"偏移"。您必须将字节转换为字符。然后将所有数组连接在一起以获得最终的完整文件内容。插入检查块大小,以便每个线程不与其他边界重叠。同样,这只是一个想法,希望它在实际实施时能够发挥作用。