Благодаря Schermvlieger для запроса этого вопроса anddev.org,
Я просто копирую свой вопрос на SO, поскольку никто не ответил на другом сайте, и я тоже сталкиваюсь с той же проблемой.
Мне было интересно, что будет оптимальным использованием BitmapFactory.Options.inSampleSize
в отношении скорости отображения изображения.
В документации упоминаются значения, которые имеют мощность 2, поэтому я работаю с 2, 4, 8, 16 и т.д.
То, что мне интересно, это:
- Должен ли я переформатировать до наименьшего размера, который по-прежнему больше разрешения экрана, или я должен пробовать до размера, достаточного для того, чтобы избежать
OutOfMemoryError
? - Как вычислить максимальный размер изображения, которое может отображаться без исчерпания памяти? Идет ли цветная глубина изображения, а также глубину отображения?
- Эффективно отображать изображения с помощью двух механизмов (
BitmapFactory
для больших файлов,setImageURI()
для более мелких). Я используюImageSwitcher
кстати. - Помогло ли это создавать
Bitmap
,BitmapFactory.Options
иinTempStorage
в начале приложения или создавать их только "на лету", когда это необходимо?