Kitaran hidup aplikasi Android

asas-panduan-pengaturcaraan-android-2

Apabila anda memulakan pengaturcaraan dalam bahasa seperti C ++ atau Java, perkara pertama yang diajarkan adalah kaedah utama, iaitu titik yang akan dipanggil oleh sistem operasi ketika kita memulakan aplikasi kita.

Di Android tidak ada kaedah utama seperti itu, tetapi ada beberapa kaedah aktiviti kami yang akan dipanggil oleh SSOO ketika mereka berlaku peristiwa penting. Dalam bab ini kita akan mengkaji secara mendalam apa peristiwa itu, dan bagaimana ia berlaku. kitaran lengkap aktiviti daripada Android. Dokumentasi rasmi menawarkan penjelasan yang luas mengenai topik ini, di sini kita akan mengkaji unsur-unsur yang paling penting bersama dengan beberapa kesalahan biasa semasa mengatasinya.

Kitaran hidup Android mengikuti skema ini:

kitaran hidup android

Kejadian kitaran hidup

  1. onCreate (Kumpulan)
    • Merupakan momen ketika aktiviti dibuat. Kaedah ini biasanya akan dihasilkan oleh ahli sihir ketika membuat aktiviti baru di Android, dan di sinilah kita akan membuat semua aktiviti yang diperlukan. Sekiranya sebelumnya kita menyimpan data aktiviti dalam objek Bundle, kita dapat menggunakannya untuk membuatnya semula. Biasanya kita tidak akan menggunakannya.
  2. Bermula ()
    • Aktiviti akan diteruskan berada di skrin, walaupun tidak semestinya kelihatan. Sekiranya kita berhenti, kita akan melalui onRestart () terlebih dahulu.
  3. memulakan semula ()
    • Sebelum ke onStart () ketika kami datang dari panggilan ke onStop ().
  4. onResume ()
    • Aktiviti akan dimulakan bertindak balas terhadap interaksi pengguna.
  5. padaJeda ()
    • Aktiviti tersebut akan berhenti bertindak balas kepada interaksi pengguna.
  6. diHentikan ()
    • Aktiviti telah berjalan sepenuhnya latar belakang.
  7. onDestroy ()
    • Aktiviti ia akan musnah dan sumber anda dilepaskan.

Apabila kita perlu melaksanakan salah satu kaedah ini, kita akan melakukannya menambah aktiviti kita dengan profil berikut:

kelas awam MyActivity memperluaskan Aktiviti {dilindungi void onCreate (Bundle saveInstanceState) {super.onCreate (saveInstanceState); ...} kekosongan terlindung diStart () {super.onStart (); ...} kekosongan dilindungi onRestart () {super.onRestart (); ...} kekosongan dilindungi onResume () {super.onResume (); ...} dilindungi kekosongan padaPause () {... super.onPause (); } dilindungi kekosongan diStop () {... onStop (); } dilindungi void onDestroy () {... super.onDestroy (); }}

Penting untuk dijaga panggilan kaedah superclass agar tidak menghadapi kejutan. Tugas setiap acara yang berada di atas aktiviti kita mesti dijaga. Panggilan ini akan pergi ke awal acara input, dan ke akhir acara output. Dengan cara ini kita akan mengelakkan kejutan, kerana elemen aktiviti yang kita perlukan tetapi yang tidak berada di bawah kawalan kita akan dibuat sebelum menggunakannya, dan akan dimusnahkan selepas itu.

Kami tidak perlu menambah semua acara, yang tidak kita perlukan akan menggunakan pelaksanaan lalai. Kaedah yang sering kita gunakan - dan tidak digalakkan untuk menyentuh yang lain - adalah onCreate, onPause, dan onRestart.

Makna onCreate jelas: ia adalah tempat di mana kita akan memuat sumber yang kita perlukan, pandangan, dan apa sahaja yang kita perlukan. Untuk output, satu-satunya kaedah yang akan kita fokuskan adalah onPause. Sebab untuk mengelakkan onStop dan onDestroy adalah kerana kita tidak mempunyai kawalan ke atas mereka. onPause akan berjalan setiap kali aplikasi keluar dari latar depan, sementara dua yang lain akan dijalankan oleh sistem operasi berdasarkan keperluan anda. Mereka mungkin tidak pernah dihukum mati! Ini dilakukan untuk mengelakkan kos membuat aktiviti berulang kali jika kita beralih dari aktiviti ke desktop dan sebaliknya, dan sistem operasi hanya akan membebaskan sumber daya yang digunakan jika memerlukannya, dan tidak perlu menghadiri semua proses terbuka.

Itu menunjukkan bahawa kita akan menganggap bahawa aplikasi akan mati setelah dijalankan onPause, dan itu adalah milik kita peluang terakhir untuk menyimpan data yang perlu kita simpan, dan untuk menghentikan perkhidmatan yang kita gunakan, seperti geolokasi. Sekiranya kami telah menghentikan perkhidmatan, tempat yang sesuai untuk memulakannya semula adalah onRestart.

Kaedah lain yang tidak perlu kita gunakan banyak. Perkara biasa di mana kita memerlukannya adalah ketika kita mengintegrasikan perpustakaan pihak ketiga, seperti Facebook atau Flurry. Dalam kes ini, kami akan diminta untuk memadankan kaedah aktiviti kami dengan kod anda. Sebagai contoh, untuk mendaftarkan sesi Flurry kita akan diminta untuk memulakan sesi dengan kaedah onStart.

Beberapa idea berguna

  • Ingat untuk setiap acara. Anda akan selalu memerlukan onCreate, dan selalunya anda memerlukan onPause dan onResume untuk menghentikan dan melancarkan semula perkhidmatan yang paling memakan masa.
  • Jangan menyentuh acara lain jika anda tidak memerlukannya secara jelas.
  • Jangan percaya padaStop dan onDestroy, mereka mungkin tidak pernah dipanggil. Simpan semua yang anda perlukan dalam OnPause.
  • Elakkan menggunakan pemboleh ubah statik bukan akhir. Aplikasi masih boleh dimuat semasa anda kembali, dan mereka akan mengekalkan nilai yang mereka tinggalkan. Sekiranya anda tidak mempunyai pilihan selain menggunakannya, pastikan untuk menetapkan semula nilainya ketika anda kembali ke latar depan.

Maklumat lanjut - Panduan asas pengaturcaraan di Android


Anda berminat dengan:
Cara membuang virus di Android
Ikuti kami di Google News

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Blog Sebenar
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.