Задать вопрос
@Starvings

Как оптимальней органзиовать хранение изображений в мобильном приложении?

Добрый день.
В процессе работы пользователь может загружать изображения, от пары десятков до пары сотен (в идеале);
В определенные моменты использования приложения он будет видеть некоторые из этих изображений.

Как лучше хранить изображения: писать их в таблицу под base64 или записывать только имя этих изображений, а их сами хранить в директории приложения?
  • Вопрос задан
  • 110 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 4
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Оптимальнее и лучше для чего именно?
писать их в таблицу под base64

Таблицу БД? И зачем? Изображения - это бинарный формат данных. Смысла конвертировать их туда-сюда в текстовый и обратно нет никакого. В БД бинарные данные не хранятся, только ссылка на них, а сами данные хранятся в локальной ФС или любом другом хранилище.
Ответ написан
Комментировать
@Everything_is_bad
ну ведь все просто, если начать думать
- base64 это сразу примерно +30% к размеру
- хранение в базе это дополнительные запросы в бд за просто показ изображения

а теперь придумай причину, которая бы пересилила эти минусы, если у конкретно твоего приложения она есть, то храни сами изображения в базе
Ответ написан
402d
@402d
начинал с бейсика на УКНЦ в 1988
Пара сотен фотографий - это по современным меркам гигабайт.
До 12го андроида никто бы и не подумал импортировать фотки в приложение, а просто запоминал путь к тому, где они лежат. Но сейчас переложить в папку своего приложения для постоянного доступа уже кажется вполне разумным. Приложению доступны две директории Files & Caches.
Папка Files как понимаете для постоянных, в ней же и будет размещен файл базы данных.
Таким образом кроме лишних телодвижений и распухания размера из-за накладных расходов разницы собственно в самом хранении фотографий в виде отдельных файлов нет. Единственное, я бы файлы на подпапки по 256 штук разложил.

Но такое решение все равно мне кажется не оптимальным. Посмотрит пользователь, сколько места занимает приложение и сотрет его. Так что придется их заливать на ваш бакенд. А при необходимости и отсутвия в кеше скачивать обратно.
Ответ написан
Комментировать
@pfg21
ex-турист
хранение картинок в бд имеет смысл тогда это удобнее чем в фс.
явный пример хранение тайловых карт на тыщщи и мульёны мелких (50-150 кб) файликов в виде BLOB с простым отлично иденксирующимся указателем z x y.
каталоги с тыщщами имен уже начинают тормозить. файловая система такто является разновидностью базы данных, но сильно упрощенной.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы