私はNookColor(Android 2.1)デバイスと、SDカードからいくつかの巨大なファイル(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カードのどこかに配置されます。オフセットは、ファイルの任意のポイントを指している可能性があります(先頭まで)-問題はまだ発生しています。
このパフォーマンスの問題の理由は何でしょうか?