У пользователя, который только что обновился до 2.2.1 на своей Galaxy S. Теперь, когда он нажимает HOME, а затем перезапускает приложение, я вижу в журналах, что контекст приложения повторно инициализирован, и новый идентификатор процесса (проверено через сообщения журнала в onCreate() в экземпляре моего приложения.)
Странно то, что когда он перезапущен из истории, мои общие настройки, в которых я храню важные состояния, больше не доступны, и все запросы к context.getSharedPreferences(PREFS_FILE, Mode.WORLD_PRIVATE).getString() возвращают NULL, что в конечном итоге приводит к закрытию силы.
После повторного запуска приложения все будет работать так, как ожидалось, и снова будут доступны sharedPreferences.
Я только заметил это на Samsung Galaxy S после того, как он обновил до 2.2.1.
Нечетная вещь, о которой мне интересно, это то, что при возврате в приложение появляется новый процесс.
Кто-нибудь еще видел это поведение? Возможно, я делаю что-то неправильно?
Я немного прочитал о возврате родительских прав и т.д. из http://developer.android.com/guide/topics/manifest/activity-element.html#proc, но не уверен, что какие-то опции действительно помогут здесь
Я закончил модификацию моего подкласса PreferenceActivity для инициализации общих prefs из таблицы базы данных при запуске действия и записи в базу данных при изменении значения. PITA, но все проблемы Samsung S теперь исчезли.
Кажется, проблема с Samsung - я заметил очень похожую проблему с 2.2.1 ROM на Galaxy S