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

Максимальный размер класса SharedPreferences

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

4b9b3361

Ответ 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, но если системе не хватит памяти, это один из первых вещей, которые УДАЛИТЬ это, вы его помните.