Данные в SharedPreferences не всегда сохраняются
Добавлено: 25 мар 2014, 10:44
У меня есть 2 процеса и очень много настроек, которие нужни в обоих проецесах. И иногда они не всегда сохраняются.
Сохраняю их:
[syntax=java] SharedPreferences.Editor editor = getSharedPreferences(Constants.KEY_PREF, Context.MODE_MULTI_PROCESS).edit();
editor.putInt(Constants.KEY_PREF_QUEUE_SORT_BY_POSITION, position);
editor.putInt(Constants.KEY_PREF_QUEUE_SORT_BY, by);
editor.apply();[/syntax]
И так далее. Но после вихода из приложения кнопкой "back" а потом swap app из Recent Apps и зайти обратно - дание не те чо нужно.
Или я вибираю и сохраняю сортировку, проверяю - она сохранена, но когда передаю дание в AsyncTask они не те что нужно.
Есть несколько (noobs) вопросов:
- я поменял commit() на apply() но не везьде, может бить что система делает где-то commit, потому держить в памяти и дание не обовляются.
- ест ли разница в Context из которого визивать настройки между getActivity() (в Fragments), MainActivity.this, getApplicationContext()? В теории оно должно возвращать силки на один и тот же обект.
- еще читал что если переменние в static то в SharedPreferences может записатся не те дание которие сейчас там находятся, правда ли єто?
Спасибо за помощь.
Сохраняю их:
[syntax=java] SharedPreferences.Editor editor = getSharedPreferences(Constants.KEY_PREF, Context.MODE_MULTI_PROCESS).edit();
editor.putInt(Constants.KEY_PREF_QUEUE_SORT_BY_POSITION, position);
editor.putInt(Constants.KEY_PREF_QUEUE_SORT_BY, by);
editor.apply();[/syntax]
И так далее. Но после вихода из приложения кнопкой "back" а потом swap app из Recent Apps и зайти обратно - дание не те чо нужно.
Или я вибираю и сохраняю сортировку, проверяю - она сохранена, но когда передаю дание в AsyncTask они не те что нужно.
Есть несколько (noobs) вопросов:
- я поменял commit() на apply() но не везьде, может бить что система делает где-то commit, потому держить в памяти и дание не обовляются.
- ест ли разница в Context из которого визивать настройки между getActivity() (в Fragments), MainActivity.this, getApplicationContext()? В теории оно должно возвращать силки на один и тот же обект.
- еще читал что если переменние в static то в SharedPreferences может записатся не те дание которие сейчас там находятся, правда ли єто?
Спасибо за помощь.