Как сохранить состояние активности при сбоях Dalvik VM? - PullRequest
1 голос
/ 01 февраля 2012

Я разрабатываю для Froyo на Nexus One. У меня есть проблема, при которой происходит сбой dalvik vm (в logcat AndroidRuntime специально упоминает, что он выключает виртуальную машину), и отключает запущенные действия и службы. Мое приложение представляет собой одно действие. onSaveInstanceState выполняется, когда виртуальная машина останавливается, и там я сохраняю некоторые данные (целую и две строки) в Bundle saveInstanceState. Когда я снова запускаю Activity, набор saveInstanceState, передаваемый в onCreate (), имеет значение null, а onRestoreInstanceState вообще не вызывается. Это прекрасно работает, когда активность уничтожается для восстановления памяти - только не при сбое виртуальной машины. Как сохранить информацию при сбоях такого рода?

Спасибо,

Jayce

1 Ответ

3 голосов
/ 01 февраля 2012

Память виртуальной машины сбрасывается, когда виртуальная машина снята и снова запущена.

Сохранить состояние в постоянном хранилище во время onSaveInstanceState (), и, если saveInstanceState имеет значение NULL, когда активность возвращается к началу, прочитайте свои постоянные настройки и удалите их.

...