Siklus hidup aplikasi Android

dasar-panduan-pemrograman-android-2

Ketika Anda memulai pemrograman dalam bahasa seperti C ++ atau Java, hal pertama yang diajarkan adalah metode utama, titik yang akan dipanggil oleh sistem operasi saat kita memulai aplikasi kita.

Di Android tidak ada metode utama seperti itu, tetapi ada beberapa metode aktivitas kita yang akan dipanggil oleh SSOO ketika itu terjadi acara penting. Dalam bab ini kita akan mempelajari secara mendalam apa peristiwa itu, dan bagaimana cara kerjanya. siklus lengkap suatu aktivitas Android. Dokumentasi resmi menawarkan penjelasan ekstensif tentang topik ini, di sini kita akan mempelajari elemen terpenting beserta beberapa kesalahan umum saat menanganinya.

Siklus hidup Android mengikuti skema ini:

siklus hidup android

Peristiwa siklus hidup

  1. onCreate (Bundel)
    • Merupakan momen saat aktivitas dibuat. Metode ini biasanya akan dibuat oleh wizard saat membuat aktivitas baru di Android, dan di sinilah kita akan membuat semua yang dibutuhkan aktivitas. Jika sebelumnya kita telah menyimpan data aktivitas dalam objek Bundle, kita bisa menggunakannya untuk membuat ulang. Biasanya kami tidak akan menggunakannya.
  2. onStart ()
    • Kegiatan akan dilanjutkan tampil di layar, meski belum tentu terlihat. Jika kita datang dari sebuah perhentian, kita akan melalui onRestart () terlebih dahulu.
  3. onRestart ()
    • Sebelumnya ke onStart () saat kita datang dari panggilan ke onStop ().
  4. onResume ()
    • Aktivitas akan dimulai menanggapi interaksi pengguna.
  5. onPause ()
    • Aktivitasnya akan berhenti menanggapi untuk interaksi pengguna.
  6. onStop ()
    • Aktivitas telah sepenuhnya dilakukan Latar Belakang.
  7. onDestroy ()
    • Aktivitas itu akan dihancurkan dan sumber daya Anda dirilis.

Saat kami perlu menerapkan salah satu metode ini, kami akan menambahkannya ke aktivitas kami dengan profil berikut:

public class MyActivity memperluas Aktivitas {protected void onCreate (Bundle storedInstanceState) {super.onCreate (storedInstanceState); ...} void terlindungi onStart () {super.onStart (); ...} void terlindungi onRestart () {super.onRestart (); ...} void terlindungi onResume () {super.onResume (); ...} void terlindungi onPause () {... super.onPause (); } dilindungi void onStop () {... onStop (); } dilindungi void onDestroy () {... super.onDestroy (); }}

Itu penting untuk dipertahankan panggilan metode superclass agar tidak menemui kejutan. Tugas dari setiap acara yang berada di atas aktivitas kita harus dijaga. Panggilan ini akan menuju ke awal peristiwa masukan, dan ke akhir peristiwa keluaran. Dengan cara ini kita akan menghindari kejutan, karena elemen aktivitas yang kita butuhkan tetapi tidak berada di bawah kendali kita akan dibuat sebelum digunakan, dan akan dihancurkan setelahnya.

Kami tidak perlu menambahkan semua acara, yang tidak kita perlukan akan menggunakan implementasi default. Metode yang akan sering kita gunakan - dan tidak disarankan untuk menyentuh yang lain - adalah onCreate, onPause, dan onRestart.

Arti onCreate sudah jelas: ini adalah tempat di mana kita akan memuat sumber daya yang kita butuhkan, tampilan, dan apa pun yang kita butuhkan. Untuk keluarannya, satu-satunya metode yang akan kita fokuskan adalah onPause. Alasan untuk menghindari onStop dan onDestroy adalah karena kami tidak memiliki kendali atas mereka. onPause akan berjalan setiap kali aplikasi keluar dari latar depan, sedangkan dua lainnya akan dijalankan oleh sistem operasi berdasarkan kebutuhan Anda. Mereka mungkin tidak akan pernah dieksekusi! Hal ini dilakukan untuk menghindari biaya pembuatan aktivitas berulang kali jika kita beralih dari aktivitas ke desktop dan sebaliknya, dan sistem operasi hanya akan membebaskan sumber daya yang digunakan jika diperlukan, dan tidak harus menghadiri semua. proses terbuka.

Itu menyiratkan bahwa kita akan berasumsi bahwa aplikasi akan mati setelah menjalankan onPause, dan itu adalah milik kita kesempatan terakhir untuk menyimpan data yang perlu kami simpan, dan untuk menghentikan layanan yang kami gunakan, seperti geolokasi. Jika kami telah menghentikan layanan, tempat yang tepat untuk memulai ulang adalah di Restart.

Metode lain yang tidak perlu kita banyak gunakan. Kasus umum yang kita perlukan adalah ketika kita mengintegrasikan perpustakaan pihak ketiga, seperti Facebook atau Flurry. Dalam kasus ini, kami akan diminta untuk mencocokkan metode aktivitas kami dengan kode Anda. Misalnya, untuk mendaftarkan sesi Flurry kita akan diminta untuk memulai sesi dalam metode onStart.

Beberapa ide berguna

  • Ingat untuk apa setiap acara. Anda akan selalu membutuhkan onCreate, dan sering kali Anda memerlukan onPause dan onResume untuk menghentikan dan meluncurkan kembali layanan yang paling banyak memakan waktu.
  • Jangan sentuh acara lainnya jika Anda tidak membutuhkannya secara eksplisit.
  • Jangan percaya onStop dan onDestroy, mereka mungkin tidak akan pernah dipanggil. Simpan semua yang Anda butuhkan di onPause.
  • Hindari menggunakan variabel statis non-final. Aplikasi masih dapat dimuat saat Anda kembali, dan mereka akan mempertahankan nilai yang mereka tinggalkan. Jika Anda tidak punya pilihan selain menggunakannya, pastikan untuk menyetel ulang nilainya saat Anda kembali ke latar depan.

Informasi lebih lanjut - Panduan dasar pemrograman di Android


Anda tertarik dengan:
Cara menghapus virus di Android

Jadilah yang pertama mengomentari

tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: Actualidad Blog
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.