我有一个 Nook Color (Android 2.1) 设备和应用程序,它将从 sdcard 读取一些大文件 (PDF)。 我将使用 FileInputStream 进行文件读取(它在模拟器和 Android 2.2+ 设备上都可以正常工作)。 不幸的是,在执行以下代码时,它的运行速度非常慢(125Mb 文件大约需要 25 秒):
FileInputStream fileInputStream = new FileInputStream(filename);
fileInputStream.skip(offset);
BitmapFactory.Options options = new BitmapFactory.Options();
Bitmap bitmap = BitmapFactory.decodeStream(fileInputStream, null, options);
fileInputStream.close();
return bitmap;
该文件位于 SD 卡上的某个位置。偏移量可能指向文件中的任何点(甚至到开头)——问题仍然存在。
导致此性能问题的原因可能是什么?
最佳答案
这相当于 5mb/s 的读取速度,与我使用过的大多数 Android 设备中 MicroSD 卡的速度相当。
更高端的 SD 卡可能会获得更高的性能,但您无法在代码中执行任何操作来加快速度。
关于Android 2.1文件读取速度慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4989355/