Життєвий цикл програми для Android

basic-guide-programming-android-2

Коли ви починаєте програмування на такій мові, як C ++ або Java, перше, що вивчається, - це основний метод, той момент, який операційна система буде викликати, коли ми запускаємо наш додаток.

В Android немає основного методу як такого, але існує кілька методів нашої діяльності, які будуть викликані SSOO, коли вони відбудуться важливі події. У цьому розділі ми глибоко вивчимо, що це за події та як це працює. повний цикл діяльності Android. Офіційна документація пропонує розгорнуте пояснення цієї теми, тут ми вивчимо найважливіші елементи разом із типовими помилками при їх обробці.

Життєвий цикл Android слідує цій схемі:

життєвий цикл android

Події життєвого циклу

  1. onCreate (Bundle)
    • Представляє момент, коли діяльність створюється. Цей метод, як правило, генерується майстром під час створення нової активності на Android, і саме там ми створимо все, що потрібно для активності. Якщо ми раніше зберігали дані про активність у об’єкті Bundle, ми можемо використовувати їх для їх регенерації. Зазвичай ми не будемо ним користуватися.
  2. onStart ()
    • Діяльність триватиме до бути на екрані, хоча і не обов’язково видно. Якщо ми зупиняємось, спочатку пройдемо через onRestart ().
  3. onRestart ()
    • Попередній до onStart (), коли ми отримуємо виклик onStop ().
  4. onResume ()
    • Діяльність розпочнеться реагувати на взаємодію користувач.
  5. onPause ()
    • Діяльність буде перестати відповідати взаємодії з користувачем.
  6. onStop ()
    • Діяльність повністю пішла на фон.
  7. onDestroy ()
    • Діяльність вона буде знищена і ваші ресурси звільнені.

Коли нам потрібно реалізувати один із цих методів, ми зробимо це, додаючи до нашої діяльності за допомогою таких профілів:

відкритий клас MyActivity розширює Activity {protected void onCreate (Bundle savedInstanceState) {super.onCreate (savedInstanceState); ...} захищена порожнеча onStart () {super.onStart (); ...} захищена порожнеча onRestart () {super.onRestart (); ...} захищена порожнеча onResume () {super.onResume (); ...} захищена порожнеча onPause () {... super.onPause (); } захищена порожнеча onStop () {... onStop (); } захищена порожнеча onDestroy () {... super.onDestroy (); }}

Важливо підтримувати виклик методу суперкласу щоб не зустріти сюрпризів. Завдання кожної події, які перевищують нашу активність, повинні виконуватися. Цей виклик буде спрямований на початок вихідних подій і до кінця вихідних подій. Таким чином ми уникнемо сюрпризів, оскільки елементи діяльності, які нам потрібні, але які не будуть під нашим контролем, будуть створені перед їх використанням і згодом знищені.

Ми не повинні додавати всі події, ті, які нам не потрібні, використовуватимуть реалізацію за замовчуванням. Методи, якими ми будемо часто користуватися - і не рекомендується торкатися інших - це onCreate, onPause і onRestart.

Сенс onCreate зрозумілий: це місце, куди ми будемо завантажувати потрібні ресурси, перегляди та все, що нам ще потрібно. Що стосується результату, єдиним методом, на якому ми зупинимося, є onPause. Причина уникнення onStop та onDestroy полягає в тому, що ми не маємо над ними ніякого контролю. onPause запускатиметься щоразу, коли програма виходить з переднього плану, тоді як інші два буде запускати операційна система відповідно до ваших потреб. Їх можуть ніколи не стратити! Це робиться, щоб уникнути витрат на створення активності знову і знову, якщо ми переходимо від активності до робочого столу і навпаки, а операційна система звільняє використані ресурси лише в тому випадку, якщо вони в них потребують, і їй не потрібно відвідувати всі відкриті процеси.

Це означає, що ми будемо вважати, що програма помре після запуску onPause, і що вона наша останній шанс зберегти дані що нам потрібно економити та припиняти послуги, якими ми користуємось, такі як геолокація. Якщо ми зупинили служби, відповідним місцем для їх перезапуску є перезапуск.

Інші методи нам не потрібно буде багато використовувати. Поширеним випадком, коли він нам знадобиться, буде інтеграція сторонніх бібліотек, таких як Facebook або Flurry. У цих випадках нас попросять узгодити методи нашої діяльності з вашим кодом. Наприклад, для реєстрації сеансу Шквалу нам буде запропоновано розпочати сеанс методом onStart.

Кілька корисних ідей

  • Пригадайте, для чого призначена кожна подія. Вам завжди знадобиться onCreate, і нерідко вам знадобляться onPause і onResume, щоб зупинити та перезапустити найбільш споживані послуги.
  • Не торкайтесь інших подій якщо вам це не потрібно прямо.
  • Не довіряйте onStop та onDestroy, їх ніколи не можуть покликати. Збережіть усе необхідне у програмі onPause.
  • Уникайте використання остаточних статичних змінних. Програму все ще можна завантажити, коли ви повернетесь, і вони збережуть ті значення, які вони залишили. Якщо у вас немає іншого вибору, крім як використовувати їх, обов’язково скиньте їх значення, коли повернетесь на перший план.

Більше інформації - Основний посібник з програмування на Android


Вас цікавить:
Як видалити віруси на Android
Слідкуйте за нами в Новинах Google

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Actualidad Blog
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.