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

Виконання(додаток мабуть і знаходиться на передньому плані)

Мал. 3.14. Повний життєвий цикл активності

У деяких ситуаціях Android не лише знищує активність, але і повністю завершує процес додатка. Така ситуація може виникнути тільки у тому випадку, якщо користувач не дивиться на додаток, але вона можлива. Навіть в цьому випадку запис активності продовжує існувати і дозволяє швидко перезапустити активність при поверненні користувача.

Коли ж запис додатка пропадає? Коли користувач натискає кнопку Back, активність знищується — раз і назавжди. При цьому запис активності втрачається. Записи активності також зазвичай знищуються при перезавантаженні; також можливе їх знищення у тому випадку, якщо вони занадто довго не використовуються.

Для допитливих: тестування onSaveInstanceState(Bundle)

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

Запустіть віртуальний пристрій. У списку додатків на пристрої знайдіть додаток Settings. Воно є присутнім у більшості образів системи, використовуваних в емуляторі.

Мал. 3.15. Пошук додатка Settings

Запустіть додаток Settings і виберіть категорію Development options. У неї входить багато різних налаштувань; встановіть прапорець Don't keep activities.

Запустіть додаток і натисніть кнопку Home. Це приведе до призупинення і зупинки активності. Потім зупинена активність буде знищена так, як якби ОС Android вирішила звільнити займану їй пам'ять. Відновіть додаток і подивіться, чи був стан збережено так, як очікувалося.

Натиснення кнопки Back(замість Home) завжди призводить до знищення активності незалежно від того, встановлений прапорець в налаштуваннях розробника або ні. Натиснення кнопки Back повідомляє ОС, що користувач завершив роботу з активністю.

Щоб виконати той же тест на фізичному пристрої, необхідно встановити на ньому пакет Dev Tools. За додатковою інформацією звертайтеся за адресою http://developer.android.com/tools/debugging/debugging-devtools.html.

Мал. 3.16. Заборона збереження активностей

Контрольні запитання

  1. Які стани життєвого циклу ви знаєте?

  2. Поясніть, де викорстовують програму LogCat?

  3. Поясніть роботу метода onSaveInstanceState(.)?

  4. Намалюйте блок-схему повного життєвого циклу активності, поясніть його роботу?