2016-03-30 3 views
0

У меня есть активность, которая заполняется информацией. Когда я нажимаю кнопку «Отключить экран» и возвращаюсь в «Активность», информации больше нет.Предотвращение вызова onDestroy нажатием кнопки отключения экрана

Btw, Если я использую кнопку дома, информация не исчезает. В журналах он показывает, что он не вызывает onDestroy;

Таким образом, onDestroy отбрасывает информацию. Я не хочу onDestroy. Хоу, могу ли я это сделать.

Спасибо.

+1

Как сделать выполнение задания в 'onResume()', а не 'onCreate()' –

+0

Чтобы сделать его более ясным, разместите свой код активности. –

+0

Что произойдет, если кто-то повернет экран или подключит внешнюю клавиатуру? Эти и другие события также будут вызывать методы жизненного цикла «Активность». Было бы лучше сохранить любую информацию, которую вы хотите сохранить каким-либо образом (т. Е. В [onSaveInstanceState()] (http://developer.android.com/training/basics/activity-lifecycle/recreating.html#SaveState)) – PPartisan

ответ

1

OnDestroy всегда будет называться. Вы должны сохранять данные и обновлять Activity on onCreate. Все хорошо объяснено. here. Прочтите раздел «Сохранение устойчивого состояния». Также читайте о жизненном цикле деятельности.

0

Попробуйте сохранить данные активность на onSaveInstanceState() и восстановить состояние на onRestoreInstanceState(). Этот подход также помогает вам в изменении конфигурации. onSaveInstanceState() вызывается перед уничтожением активности и onRestoreInstanceState() вызывается непосредственно перед воссозданием активности. Для получения более подробной информации следуйте this.

0

Возможно, дубликат Android activity onDestroy() called on screen lock.

Такое поведение обычно происходит при работе с ландшафтными ориентациями. Добавить

android:configChanges="orientation|keyboardHidden|screenSize" 

в ваш тег активности для AndroidManifest.xml.

Смежные вопросы