- •Використання LogCat
- •Повороти і життєвий цикл активності
- •Конфігурації пристроїв і альтернативні ресурси
- •Створення макету для альбомної орієнтації
- •Збереження даних між поворотами
- •Перевизначення onSaveInstanceState(Bundle)
- •Знову про життєвий цикл Activity
- •Контрольні запитання
- •Виконання(додаток мабуть і знаходиться на передньому плані)
- •Для допитливих: тестування onSaveInstanceState(Bundle)
Знову про життєвий цикл Activity
Перевизначення onSaveInstanceState(Bundle) використовується не лише при поворотах. Активність також може знищуватися і у тому випадку, якщо користувач відійде від пристрою, а Android знадобиться звільнити пам'ять.
Android ніколи не знищує для звільнення пам'яті виконувану активність. Щоб активність була знищена, вона повинна знаходитися в призупиненому або зупиненому стані. Якщо активність призупинена або зупинена, значить, був викликаний її метод onSaveInstanceState(.).
При виклику onSaveInstanceState(.) дані зберігаються в об'єкті Bundle. Операційна система заносить об'єкт Bundle в запис активності(activity record).
Щоб зрозуміти, що є записом активності, додамо збережений стан на схему життєвого циклу активності(мал. 3.14).
Коли ваша активність збережена, об'єкт Activity не існує, але об'єкт запису активності «живе» в ОС. При необхідності операційна система може відтворити активність по запису активності.
Слід врахувати, що активність може перейти у збережений стан без виклику onDestroy(). Проте ви завжди можете розраховувати на те, що методи onPause()
і onSaveInstanceState(.) були викликані. Зазвичай метод onSaveInstanceState(.)
перевизначається для збереження даних в Bundle, а onPause() — для усіх інших операцій.
Збереження (ек-
земпляр актив-
ності знищений;
стан активності збережений)
Користувач повертає до активності, процес знову починає працювати
Додаток
не існує
Запуск Завершується або знищується
Android
Зупинка(додаток невидимо)
-
Стає
Перестає
видимим для
бути видимим
користувача
Призупинення (додатоку
мабуть)
-
Виходить на пе-
Йде з пе-
редній план
реднього плану
