2

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

这个性能问题的原因可能是什么?

4

1 回答 1

3

这相当于 5mb/s 的读取速度,这与我使用过的大多数 Android 设备中的 MicroSD 卡的速度差不多。

高端 SD 卡可能会获得更高的性能,但您无法在代码中做任何事情来加快速度。

于 2011-02-14T06:26:49.953 回答