Я хочу сохранить много строк с классом SharedPreferences
.
Эти строки остаются длинными.
Я действительно хочу знать максимальную длину строки, которая может быть сохранена в общих настройках в android. И также, сколько размера данных я могу сохранить в этом классе SharedPrefernces
.
Максимальный размер класса SharedPreferences
Ответ 1
В соответствии с архитектурой Android нет такого ограничения для хранения данных в SharedPreference. Лучше всего использовать базу данных (SQLite), когда вам приходится иметь дело с огромным объемом данных
Ответ 2
Я где-то читал, что нет жесткого ограничения, кроме Integer.MAX_VALUE (максимальная длина строки). Но не рекомендуется хранить это на общих предпочтениях, так как это XML файл, который должен быть проанализирован, и при его анализе у вас возникнут проблемы.
Я использовал для хранения около 50-100 Кбайт. Это сработало.
Ответ 3
Существует ограничение данных SharedPreference. В моем устройстве он генерирует исключение памяти, когда данные SharedPreference пересекают 1428506-байты.
Таким образом, лучше использовать базу данных SQLite, когда вам нужны огромные данные для хранения.
Ответ 4
Точный ответ, полученный вручную: максимальный размер символа Unicode равен 5 657
632 символа (или от [0 до 5657631]) в моем случае. Это примерно 2,7 МБ для SharedPReference.Editor.
Скорее большое хранилище. Вы используете этот размер дважды:
PreferenceManager.getDefaultSharedPreferences(c)
context.getSharedPreferences("<key>", <Mode>);
Ответ 5
Конечно, это ограничение для SharedPreferences, но если системе не хватит памяти, это один из первых вещей, которые УДАЛИТЬ это, вы его помните.