2014-09-16 1 views
1

Я работаю над приложением, которое в настоящее время будет иметь данные только локально (часть сервера не готова) - apk также должен содержать отображаемые данные. Итак, у меня будет список предметов, каждый из которых имеет изображение. Где лучше всего хранить эти изображения, так что размер apk поддерживается как можно меньше?Android - где это лучшее место для хранения списка изображений локально?

Поиск Я обнаружил, что/raw или/активы могут быть такими местами. Или лучше хранить изображения в формате base64, закодированные в загруженных JSON? Что лучше?

+0

Независимо от того, где вы размещаете свои изображения, ваш APK по-прежнему содержит ваши изображения и размер не будет меньше. Я бы предложил вам загрузить с веб-сервера при первом запуске, чтобы избежать добавления изображений в APK. – Raptor

+0

Не могли бы вы рассказать о «загруженных JSONs»? Весь файл .apk на самом деле является zip-файлом, поэтому он будет сжиматься так же, как вы его положили. Имейте в виду, что base64 означает + 30% в размере, хотя застежка-молния должна уменьшить воздействие. Если ваши изображения более чем на несколько МБ, забудьте об этом и работайте на своем сервере: 20 МБ для небольшого приложения - это боль для пользователей. – personne3000

+0

У меня есть файлы с данными json, которые загружаются в моем приложении, так что, когда сервер готов, этот jsons будет поступать с сервера в той же самой структуре. Для изображений я предполагаю, что у меня будут отдельные URL-адреса для их получения, но на данный момент мне нужно обойтись без серверной части. И я ищу наилучшее решение для хранения этих изображений с минимальным воздействием в моем приложении ... –

ответ

0

Поиск Я обнаружил, что/raw или/активы могут быть такими местами. Или это лучше хранить изображения как base64, закодированные в загруженном JSONs? Что лучше?

, если у вас есть другое изображение для каждой плотности вы должны пойти на тыс drawable- * папок, в противном случае он не делает большой разницы, что с точки зрения размера в APK-х годов. Я бы избегал решения base64

+0

Не могли бы вы рассказать мне, почему вы избегаете base64? –

+0

за один раз, закодированы в json, и вам необходимо выделить память для String и Bitmap. Если вы используете активы для хранения растрового изображения, вы можете загрузить их, когда вам нужно, и сохранить некоторую память – Blackbelt

0

your.package/assets - поместите любые данные в свое приложение. Вы можете сохранить любые файлы в этой папке. Это может быть JSON или BASE64.

+0

Пожалуйста, уточните свой ответ – Raptor