Я разработал игру на Android. Я в настоящее время сохраняю большую часть игровой статистики в Базе данных. Однако приложение не использует больше, чем одна строка в DB. Я теперь интересуюсь представлением некоторой новой статистики, но это заставит мой DB переустанавливать и таким образом убирать общий успех. Для предотвращения этого в будущем, я рассматриваю хранение игровой статистики с SharedPreferences вместо этого. Мой вопрос состоит в том, сколько разных вещей может быть сохранено тот путь, прежде чем это станет проблемой. Всего я сохранил бы приблизительно 40 значений, все целые числа.
SharedPreferences записываются в XML-файлы, поэтому максимальный размер файла на Android - это размер XML-файла SharedPreferences. Могу с уверенностью сказать, что 40 целочисленных значений не будут проблемой.
Максимальный размер значения в файле SharedPreferences ограничен максимальным размером значения, которое вы пытаетесь сохранить.(Это означает, что вы не можете поместить значение String, которое длиннее, чем может быть String в Java.)
Единственное, что я бы посоветовал, - это как можно больше группировать правки (то есть не . commit ()
каждое изменение), а также не создавайте новый редактор для каждого изменения. (Это просто хорошие практики.)
SharedPreferences settings = getSharedPreferences(PREFS_FILE_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("firstValue", mFirst);
editor.putInt("secondValue", mSecond);
editor.putInt("thirdValue", mThird);
// Commit the edits! (As infrequently as possible)
editor.commit();
Я не знаю ни о каких ограничениях, кроме вашей проблемы с уничтожением всех прогрессов. Вы можете переопределить метод onUpgrade в своем классе SQLite, а затем перенести все данные в новую базу данных.