Подтвердить что ты не робот

Общие настройки - максимальная длина одного значения

Я сохраняю String в общих настройках, но мне не удалось найти максимальную длину строки, которую я могу сохранить. Вы знаете это значение?

Спасибо

Точки

4b9b3361

Ответ 1

От Ромен Гай Из вопроса Asked Here,

Какова бы ни была максимальная длина строки Java. Так что-то вроде Символы Integer.MAX_VALUE.

Предположим, что SharedPreferene - это XML файл, хранящийся в One Tag, если вы храните только одну пару/объект. Поэтому нет ограничений на запись String в том, что если вы думаете, что пишете в файле.. (теоретически)

Но на самом деле происходит то, что, когда вы присваиваете значение SharedPreference с помощью функции put/get, в это время вы Чтение/Написание значения в String Object.. так что предел становится хранить значение за один раз, равное пределу размера объекта String Java.

Итак, при написании кода: Предел SharedPreference String Size = Ограничение размера объекта String (Практически)

Ответ 2

Общие предпочтения сохраняются в /data/data/[package_name]/shared_prefs/[app name].xml, я думаю, что там без ограничений в соответствии с архитектурой Android.

Ответ 3

Когда я пытаюсь сохранить строку максимальной длины в SharedPreferences на моем устройстве, она генерирует исключение памяти, когда данные SharedPreferences превышают 1.42 МБ.

Итак, если у вас размер данных более 1,42 МБ, чтобы сохранить его лучше, чтобы сохранить базу данных SQLite.

Согласно developer.android. "Если у вас есть относительно небольшая коллекция ключей-значений, которые вы хотите сохранить, вы должны использовать API SharedPreferences."