Где я должен хранить изображение - PullRequest
1 голос
/ 06 октября 2019

Я начал создавать викторину для Android, поэтому у меня есть 500 изображений на вопрос, но я не знаю, где мне их хранить, я смотрю некоторые видео в интернете, они хранят свои изображения в Drawable-Floder и используют некоторый код длясделать показ изображения в действии, но в тех видео у них есть несколько изображений. Мой вопрос: «Хорошо хранить 500 изображений в флайдере, или я должен использовать базу данных (я не очень разбираюсь в базе данных, поэтому я не знаю, как хранить изображения и как показывать изображения из базы данных в действия)

Ответы [ 2 ]

0 голосов
/ 06 октября 2019

Одним из наиболее важных аспектов является размер изображения. Если изображения маленькие, скажем, около 100 тыс., То их хранение в базе данных может быть эффективным в соответствии с 35% быстрее, чем файловая система .

Если они больше, тогда начнется их сохранение в базе данных. становиться все менее эффективным. Приблизительно в 2 МБ без кода для разделения их (добавляя еще больше неэффективности) на управляемые куски, их становится невозможно использовать в Android при использовании SDK, так как их невозможно получить из-за ограниченности окна курсора 2 МБ.

Таким образом, если бы 500 изображений имели размер около 100 Кб каждый, то это было бы приблизительно 25 Мб, вероятно, управляемых, хранимых в базе данных, и, вероятно, довольно эффективных, хотя всего на 9 строк на окно курсора, слегка толкая его.

При 500 КБ это 125 МБ, и ограничение игрового магазина 100 МБ будет пересмотрено. Для этого потребуются файлы расширения APK (см. Ссылку ниже), и, скорее всего, будет очень неэффективно хранить их в базе данных (вероятно, 3 строки на окно курсора).

После этого вы будете извлекать изображения из ресурса или необработанной папки или, возможно, из другой папки, и сохранять путь или часть пути в базе данных, если все изображения находятся в одном месте и только имя изображенияиначе, чем просто сохранение имени изображения, может быть достаточно, скажем, 25 символов (байтов) на изображение, база данных не так уж и много - около 15 тыс. Файлы расширения APK

Возможно, вы захотите взглянуть на Как вставить изображение в базу данных sqlite , которая включает в себя демонстрационный код, который сохраняет изображения на 100 КБ или меньше вбаза данных и те, за 100к он сохраняет путь.

0 голосов
/ 06 октября 2019

Во-первых, хранить изображения в базе данных неправильно, это сделает ваше приложение медленным.
Вы можете сохранять свои изображения в папке drawable, но это увеличит размер вашего приложения в магазине.
Итак, я предлагаю создать API, чтобы вы могли загрузить их из Интернета и сохранить их во внутренней памяти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...