2011-12-27 3 views
13

Я хочу сэкономить много строк с классом SharedPreferences. Эти строки остаются длинными. Я действительно хочу знать максимальную длину строки, которая может быть сохранена в общих настройках в android.And Также размер данных, который я могу хранить в этом классе SharedPrefernces.Максимальный размер класса SharedPreferences

ответ

8

Согласно андроид архитектуры нет такого ограничения для хранения данных в SharedPreference. Лучший способ заключается в базе данных (SQLite), когда вам приходится иметь дело с огромным количеством данных.

2

Я где-то читал, что нет жесткого предела, отличного от Integer.MAX_VALUE (максимальная длина строки). Но не рекомендуется хранить это на общих предпочтениях, так как это XML-файл, который должен быть проанализирован, и при его анализе у вас возникнут проблемы.

Я использовал для хранения около 50-100 Кбайт. Это сработало.

-1

Конечно, это ограничение для SharedPreferences, но если системе не хватит памяти, это один из первых вещей, которые УДАЛИТЬ это, вы его помните.

0

Точный ответ, полученный вручную: максимальный размер символа Юникода равен 5 657 632 символа (или от [0 до 5657631]) в моем случае. Это около 2.7MB для SharedPReference.Editor.

Скорее большой место хранения. Вы ча использовать этот размер дважды:

PreferenceManager.getDefaultSharedPreferences(c) 
context.getSharedPreferences("<key>", <Mode>); 
1

Существует а ограничения данных SharedPreference. В моем устройстве он генерирует исключение памяти, когда данные SharedPreference пересекают 1428506-байты.

Так что лучше использовать базу данных SQLite, когда вам нужны огромные данные для хранения.

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