Массив изображений хранить в кеше? - PullRequest
0 голосов
/ 06 июня 2018

Я работаю с cards ( cardView ) и пытаюсь сохранить изображения внутри массива (массив в строку; сохранить это в кеше и при необходимости распаковать обратно в массив).Мой вопрос: какой самый удобный способ хранения изображений в массиве?

Хранить растровые изображения (bitmapToString и т. Д.)?Превратить растровые изображения (я получаю изображения из галереи и камеры) в URI?Абсолютные пути?

Количество изображений невелико (3-4), поэтому, я думаю, в БД нет необходимости.

1 Ответ

0 голосов
/ 07 июня 2018

Android Bitmap объекты не являются подходящими кандидатами для хранения в массивах Java - они очень большие объекты, поэтому вы рискуете получить OutOfMemoryException.Легко создать утечку памяти, если вы не будете осторожны.

Если вам нужно получить несколько фотографий из галереи как Bitmap и сохранить их в своем приложении, один из шаблонов, который обычно используется, этозапись Bitmap во внутреннее хранилище приложения (здесь .

Если вам нужна ссылка на сохраненную фотографию, вы можете сохранить имя файла или Uri, представляющую фотографиюили изображение.

Тогда проблема загрузки Bitmap s и т. д. в ImageView решается с помощью таких библиотек, как Picasso или Glide . Вы можете использовать этизагрузить из локальной файловой системы или из сети.

...