2

私は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カードのどこかに配置されます。オフセットは、ファイルの任意のポイントを指している可能性があります(先頭まで)-問題はまだ発生しています。

このパフォーマンスの問題の理由は何でしょうか?

4

1 に答える 1

3

これは、5mb / sの読み取り速度に相当します。これは、私が使用したほとんどのAndroidデバイスのMicroSDカードの速度とほぼ同じです。

ハイエンドのSDカードはパフォーマンスが向上する可能性がありますが、これを高速化するためにできることはコードにはありません。

于 2011-02-14T06:26:49.953 に答える