我有一个 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 卡上的某个位置。偏移量可以指向文件中的任何点(甚至指向开头)——问题仍然存在。
这个性能问题的原因可能是什么?