Життєвий цикл Activity в Android з прикладом коду

Що таке життєвий цикл Activity в Android?

Activity — це окремий екран в додатку Android, а життєвий цикл Activity складається з серії методів, які дозволяють розробникам керувати поведінкою додатку, коли користувач взаємодіє з ним. Методи життєвого циклу допомагають керувати переходами між різними станами Activity, забезпечуючи правильне управління ресурсами та комфортний досвід користувача.

pic

Джерело — https://developer.android.com

Основні методи життєвого циклу:

  1. onCreate(): Викликається, коли Activity створено. Ініціалізуйте інтерфейс користувача та основні компоненти тут.
  2. onStart(): Викликається, коли Activity стає видимим для користувача.
  3. onResume(): Викликається, коли Activity починає взаємодіяти з користувачем.
  4. onPause(): Викликається, коли Activity частково прихована (наприклад, коли запускається інша Activity).
  5. onStop(): Викликається, коли Activity більше не видима для користувача.
  6. onRestart(): Викликається після того, як Activity була зупинена, і вона готується до перезапуску.
  7. onDestroy(): Викликається, коли Activity знищується, або вручну, або системою.

Ось як використовуються методи життєвого циклу:

pic

pic

public class MainActivity extends AppCompatActivity {  

 @Override  
 protected void onCreate(Bundle savedInstanceState) {  
 Log.i("AppLog","onCreate");  

 super.onCreate(savedInstanceState);  
 EdgeToEdge.enable(this);  

 setContentView(R.layout.activity_main);  

 ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {  
 Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());  
 v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);  
 return insets;  
 });  

 // ініціалізуйте елементи інтерфейсу та інші завдання, пов'язані з UI  

 }  

 @Override  
 protected void onStart() {  
 super.onStart();  
 Log.i("AppLog","onStart");  
 // запускайте анімації та інші візуальні зміни  
 }  

 @Override  
 protected void onResume() {  
 super.onResume();  
 Log.i("AppLog","onResume");  
 // реєструйте прослуховувачі подій (Event Listeners) та запускайте сервіси  
 }  

 @Override  
 protected void onPause() {  
 super.onPause();  
 Log.i("AppLog","onPause");  
 // скасовуйте реєстрацію прослуховувачів (Event Listeners), зберігайте дані та зупиняйте сервіси  
 }  

 @Override  
 protected void onStop() {  
 super.onStop();  
 Log.i("AppLog","onStop");  
 // зупиняйте анімації та інші візуальні зміни  
 }  

 @Override  
 protected void onRestart() {  
 super.onRestart();  
 Log.i("AppLog","onRestart");  
 // оновлюйте дані або виконуйте інші необхідні завдання  
 }  

 @Override  
 protected void onDestroy() {  
 super.onDestroy();  
 Log.i("AppLog","onDestroy");  
 // звільняйте ресурси та очищуйте дані  
 }  
}

Логи для подій життєвого циклу Activity

Щоб спостерігати за подіями життєвого циклу, використовується метод Log.i(), який реєструє повідомлення для кожного методу життєвого циклу. Ви можете переглядати ці логи в Logcat під час запуску додатку, щоб відстежувати переходи між різними станами.

Тестування життєвого циклу Activity

  1. Запустіть додаток: Спостерігайте за послідовністю викликів методів onCreate(), onStart() та onResume().
  2. Натисніть кнопку Home: Спостерігайте за методами onPause() та onStop().
  3. Відкрийте додаток знову: Спостерігайте за методами onRestart(), onStart() та onResume().
  4. Закрийте додаток: Спостерігайте за методами onPause(), onStop() та onDestroy().

Розуміння життєвого циклу Activity в Android є важливим для управління ресурсами та забезпечення безперебійного досвіду користувача. Реалізуючи та тестуючи методи життєвого циклу, ви можете створювати додатки, які ефективно керують переходами та мінімізують витоки пам'яті. Не соромтеся експериментувати з кодом та адаптувати його під ваші потреби.

Перекладено з: Android Activity Lifecycle with Code Example

Leave a Reply

Your email address will not be published. Required fields are marked *