Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаборторна робота №3.docx
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

Знову про життєвий цикл Activity

Перевизначення onSaveInstanceState(Bundle) використовується не лише при поворотах. Активність також може знищуватися і у тому випадку, якщо користувач відійде від пристрою, а Android знадобиться звільнити пам'ять.

Android ніколи не знищує для звільнення пам'яті виконувану активність. Щоб активність була знищена, вона повинна знаходитися в призупиненому або зупиненому стані. Якщо активність призупинена або зупинена, значить, був викликаний її метод onSaveInstanceState(.).

При виклику onSaveInstanceState(.) дані зберігаються в об'єкті Bundle. Операційна система заносить об'єкт Bundle в запис активності(activity record).

Щоб зрозуміти, що є записом активності, додамо збережений стан на схему життєвого циклу активності(мал. 3.14).

Коли ваша активність збережена, об'єкт Activity не існує, але об'єкт запису активності «живе» в ОС. При необхідності операційна система може відтворити активність по запису активності.

Слід врахувати, що активність може перейти у збережений стан без виклику onDestroy(). Проте ви завжди можете розраховувати на те, що методи onPause()

і onSaveInstanceState(.) були викликані. Зазвичай метод onSaveInstanceState(.)

перевизначається для збереження даних в Bundle, а onPause() — для усіх інших операцій.

Збереження (ек-

земпляр актив-

ності знищений;

стан активності збережений)

Користувач повертає до активності, процес знову починає працювати

Додаток

не існує

Запуск Завершується або знищується

Android

Зупинка(додаток невидимо)

Стає

Перестає

видимим для

бути видимим

користувача

Призупинення (додатоку

мабуть)

Виходить на пе-

Йде з пе-

редній план

реднього плану