Какова бы ни была максимальная длина строки 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."