Android 2.1 чтение файла идет медленно - PullRequest
2 голосов
/ 14 февраля 2011

У меня есть устройство Nook Color (Android 2.1) и приложение, которое будет читать некоторые огромные файлы (PDF) с SDCard.Я собираюсь использовать FileInputStream для чтения файлов (и он отлично работает как на эмуляторе, так и на устройствах Android 2.2+).К сожалению, он работает слишком медленно (около 25 секунд для файла 125 МБ) при выполнении следующего кода:

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-карту.Смещение может указывать на любую точку файла (даже на начало) - проблема все еще существует.

В чем может быть причина этой проблемы с производительностью?

1 Ответ

3 голосов
/ 14 февраля 2011

Это соответствует скорости чтения 5 Мбит / с, что примерно соответствует скорости чтения карт MicroSD в большинстве устройств Android, которые я использовал.

Высокопроизводительные карты SD могут получить более высокую производительность, нов коде нет ничего, что вы можете сделать, чтобы ускорить это.

...