API 26 добавляет новую опцию Bitmap.Config.HARDWARE
:
Специальная конфигурация, когда растровое изображение сохраняется только в графической памяти. Растровые изображения в этой конфигурации всегда неизменны. Это оптимально для случаях, когда единственной операцией с растровым изображением является рисование на экран.
Вопросы, которые не описаны в документах:
- Если мы ВСЕГДА предпочитаем сейчас
Bitmap.Config.HARDWARE
overBitmap.Config.RGB_565
, когда скорость имеет первостепенное значение и качество и изменчивость не являются (например, для эскизов и т.д.)? - Имеются ли пиксельные данные после декодирования с использованием этой опции на самом деле НЕ
потребляют ЛЮБАЯ кучную память и находятся только в памяти GPU? Если это так, это кажется
для окончательного облегчения для
OutOfMemoryException
, когда работа с изображениями. - Какое качество по сравнению с RGB_565, RGBA_F16 или ARGB_8888 следует ожидать из этой опции?
- Является ли скорость декодирования тем же/лучше/стоит по сравнению с декодирование с помощью RGB_565?
- (Спасибо @CommonsWare за указание на него в комментариях) Что бы
произойдет, если мы превысим память GPU при декодировании изображения, используя это
вариант? Будет ли исключено какое-то исключение (может быть, такое же
OutOfMemoryException
:)?