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

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

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

Как лучше хранить изображения: писать их в таблицу под base64 или записывать только имя этих изображений, а их сами хранить в директории приложения?
  • Вопрос задан
  • 71 просмотр
Подписаться 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.
каталоги с тыщщами имен уже начинают тормозить. файловая система такто является разновидностью базы данных, но сильно упрощенной.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
04 янв. 2025, в 22:38
10000 руб./за проект
04 янв. 2025, в 22:36
20000 руб./за проект
04 янв. 2025, в 21:58
1000 руб./за проект