Как лучше всего отображать изображения в Android?

поэтому я разрабатываю приложение, которое показывает пользователю много изображений. Проблема, с которой я столкнулся, заключается в том, что в настоящее время для прототипа я храню свои изображения в папке с возможностью рисования. Но это, кажется, замедляет загрузку изображений приложением и обычно дает ошибку OutofMemory. поэтому после некоторых поисков я понял, что могу

1) Загрузите их из базы данных sqlite или

2) загрузить их с сервера/облака при первом запуске приложения и использовать их из определенного каталога

какой из них был бы наиболее подходящим и эффективным, поскольку он использует изображения, размер которых в основном превышает 1 МБ?


person Clinton Dsouza    schedule 31.10.2014    source источник
comment
Сколько это много?   -  person Juan Aguilar Guisado    schedule 31.10.2014
comment
@juan на данный момент у меня есть 11 изображений в моей папке для рисования. Я планирую показать не менее 20-25 изображений.   -  person Clinton Dsouza    schedule 31.10.2014
comment
Во-первых, вы должны понимать, что размер файла имеет мало отношения к тому, сколько памяти требуется, что составляет (без кода, чтобы сделать что-то еще) ширину x высоту x 4 байта. Таким образом, изображение с разрешением 1024 x 1024 занимает 4 МБ. Но размер файла PNG 1024 x 1024 с полностью белым фоном будет составлять несколько Кбайт.   -  person Simon    schedule 31.10.2014


Ответы (1)


25 изображений размером около 1 МБ — это небольшой объем данных для приложения.

Проблема здесь в весе каждого отдельного изображения. В вашем случае я рекомендую вам хранить их в базе данных SQLite, потому что то, что делает ваш телефон медленным, связано с каждым отдельным изображением и временем их загрузки.

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

Совет для дураков: сделайте их меньше xD

Я надеюсь, что это поможет вам ;)

person Juan Aguilar Guisado    schedule 31.10.2014
comment
но я читал, что sqlite дает проблемы с размером изображения выше 1 МБ, поэтому я искал альтернативный метод. потому что размер большинства моих изображений превышает 1,5 МБ. в противном случае загрузка их из каталога была бы быстрее? - person Clinton Dsouza; 31.10.2014
comment
Боюсь, чтение из каталога не будет быстрее. Один из моих проектов состоит в приложении, которое управляет 3D-моделями для дополненной реальности. Когда я загружаю модели с моей SD-карты, приложение становится очень медленным (я говорю о 3-4 МБ для небольших 3D-моделей). Вы можете попробовать и провести некоторые тесты, если хотите... В любом случае: если вы хотите спросить о выборе загрузки с сервера или загрузки из памяти, мой ответ - хранить изображения локально. - person Juan Aguilar Guisado; 31.10.2014