我正在使用一个OBJ Loader库,它是我在网上找到的,我想要加快它的速度。
它的工作方式是逐行读取.OBJ文件(它基本上是一个包含多行数字的文本文件)
我有一个12mb的OBJ文件,大约相当于400,000行。可以说,尝试逐行阅读需要花费很长时间。
有没有办法加快速度呢?它使用BufferedReader读取文件(存储在my assets文件夹中)
这是指向该库的链接:click me
发布于 2014-12-22 20:16:40
这只是一个想法:在获取文件之后,您可以首先使用file类获取文件的大小:
File file = new File(sdcard,"sample.txt");
long size = file.length();返回的大小以字节为单位,因此,将文件大小划分为相当数量的块,例如5、10、20 e.t.c.具有为每个块指定和保存的字节范围。创建与上面创建的每个块大小相同的字节数组,然后将每个块“分配”到一个单独的工作线程,该线程应使用read(buffer,offset,length)方法将其块读取到相应的字符数组中,即从数组索引"offset“开始将每个块的"length”字符读入数组"buffer“。您必须将字节转换为字符。然后将所有数组连接在一起,以获得最终的完整文件内容。Insert检查块大小,以便每个线程不会重叠其他边界。再说一次,这只是一个想法,希望它在实际实现时能起作用。
https://stackoverflow.com/questions/27602118
复制相似问题