Существует ли ограничение на размер объектов LocalShared, созданных в мобильных приложениях (iOS/Android) с помощью AIR?

Для проекта мобильного приложения я кэширую много данных для автономного использования в приложении.

До сих пор я использовал классические SharedObjects, сохраняя все данные в паре толстых XML-файлов (как строки в SharedObjects). Изображения сохраняются через класс FileSystem.

Теперь мне интересно, является ли это хорошей практикой или мне следует писать свои XML-файлы в файлах, а не в общих объектах.

Размер моего SharedObject составляет 3,6 мес.

Спасибо :)


person Antoine Mouquod    schedule 09.04.2014    source источник
comment
Вы также можете использовать SQLite для хранения данных, вы даже можете поместить туда свои XML-файлы в виде ТЕКСТА или даже данных BLOB (после простого сжатия строк).   -  person gMirian    schedule 10.04.2014


Ответы (1)


В AIR обычно рекомендуется (разработчиками здесь и на форумах Adobe, а также случайным евангелистом Adobe) полностью избегать использования SharedObject. Он предназначен для использования в качестве способа хранения файлов в каталоге временных файлов браузера. В AIR вы получаете гораздо больше возможностей для управления с помощью классов File и FileStream.

Что касается ограничения размера, в документах указано, что максимальный размер SharedObject составляет 100 КБ. То есть, насколько я знаю, мягкий лимит. Он зависит от клиента, но всегда должен быть около 100 КБ. Это одна из основных причин, по которой рекомендуется использовать классы File и FileStream — ограничений по размеру нет (очевидно, за пределами максимального размера файла 4 ГБ для 32-битной системы). Вы также имеете полный контроль над местонахождением объекта, его жизненным циклом, его безопасностью и т.д.

Короче говоря, я настоятельно рекомендую переключиться на использование классов File и FileStream при использовании AIR и использовать SharedObject только при работе с браузерным SWF.

person Josh    schedule 09.04.2014