2017-02-19 4 views
0

Я хочу хранить пару сотен фотографий на 2 МБ - есть ли какие-либо ограничения или причины, почему я не должен хранить эти данные в Realm?Хранение больших фотографий в Realm

Альтернативой было бы просто сохранить их в виде файлов и сохранить пути к файлам с помощью Realm. Я фактически склоняюсь к этому подходу, потому что, как я использую Realm, я иногда очищаю файл Realm (например, когда пользователь подписывается или иногда избегает миграции), а затем восстанавливает его, загружая свои данные по сети (I используя Amazon DynamoDB для хранения данных на стороне сервера). Из-за этого я не хочу повторно извлекать все фотографии всякий раз, когда я очищаю файл Realm. Вот почему я склоняюсь к этому подходу, хотя у меня есть чувство, что я не полностью использую Царство, делая это.

Я надеюсь, что этот вопрос не слишком расплывчатый, я в основном ищу руководство относительно того, как хранить большие фотографии, учитывая, как я использую Царство. Обратите внимание, что причина, по которой я не использую Realm Object Server, просто потому, что я уже использовал DynamoDB.

+2

В чем смысл этого? Почему вы поняли, что загрузили 200 МБ на пользовательское устройство? – Divers

+0

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

+0

Откройте для себя библиотеку Glide или Picasso. Хранение файлов внутри области бессмысленно. – Divers

ответ

0

Вы можете хранить до 16 МБ данных для Data или String Недвижимость в Realm, см. Больше в docs.

Однако это не рекомендуется для изображений. Как предложено в комментариях, лучше использовать одну из библиотек кэширования изображений, это позволит вам не восстанавливать все изображения и не определять политику пользовательского кэша.

+0

Спасибо! Это очень полезно! Основываясь на этом [ответе] (http://stackoverflow.com/a/15200855/7513206), iPhone 4s, скорее всего, исчерпает память около 286 МБ, что означает, что, вероятно, не очень хорошая идея разместить мои фотографии с высоким разрешением в Царстве. Я уже использую SDWebImage для кэширования изображений, но в этом случае я хочу, чтобы эти фотографии всегда были вокруг, поэтому я думаю, что я просто буду хранить их в каталоге Caches и сохранить путь к файлу в Realm. Спасибо всем за помощь! –

Смежные вопросы