Bir Android uygulamasının yaşam döngüsü

temel-kılavuz-programlama-android-2

C ++ veya Java gibi bir dilde programlamaya başladığınızda, öğretilen ilk şey ana yöntemdir, uygulamamızı başlattığımızda işletim sisteminin arayacağı nokta.

Android'de böyle bir ana yöntem yoktur, ancak etkinliğimizin SSOO tarafından gerçekleştiğinde çağrılacak birkaç yöntemi vardır. önemli olaylar. Bu bölümde, bu olayların ne olduğunu ve nasıl çalıştığını derinlemesine inceleyeceğiz. bir faaliyetin tam döngüsü Android Resmi belgeler Bu konunun kapsamlı bir açıklamasını sunuyor, burada en önemli unsurları ve bunları ele alırken bazı yaygın hataları inceleyeceğiz.

Android'in yaşam döngüsü şu şemayı takip eder:

android yaşam döngüsü

Yaşam döngüsü olayları

  1. onCreate (Paket)
    • Şu anı temsil eder aktivite oluşturuldu. Bu yöntem normalde Android'de yeni bir etkinlik oluştururken sihirbaz tarafından oluşturulur ve etkinliğin ihtiyaç duyacağı her şeyi oluşturacağımız yerdir. Etkinlik verilerini daha önce bir Bundle nesnesine kaydettiysek, onu yeniden oluşturmak için kullanabiliriz. Normalde kullanmayacağız.
  2. onStart ()
    • Aktivite devam edecek ekranda ol, her ne kadar görünür olmasa da. Bir duraktan gelirsek, önce onRestart () üzerinden geçeceğiz.
  3. onRestart ()
    • OnStop () çağrısından geldiğimizde onStart () önceki.
  4. Özgeçmişte()
    • Aktivite başlayacak etkileşime cevap vermek kullanıcı.
  5. onPause ()
    • Aktivite olacak yanıt vermeyi bırak kullanıcı etkileşimine.
  6. onStop ()
    • Etkinlik tamamen gitti arka fon.
  7. onDestroy ()
    • Aktivite yok edilecek ve kaynaklarınız serbest bırakıldı.

Bu yöntemlerden birini uygulamaya ihtiyacımız olduğunda, bunu şu profillerle faaliyetimize ekleyeceğiz:

public class MyActivity, Activity {protected void onCreate (Bundle SavedInstanceState) {super.onCreate (SavedInstanceState); ...} korumalı void onStart () {super.onStart (); ...} korumalı void onRestart () {super.onRestart (); ...} korumalı void onResume () {super.onResume (); ...} korumalı void onPause () {... super.onPause (); } korumalı void onStop () {... onStop (); } korumalı void onDestroy () {... super.onDestroy (); }}

Sürdürmek önemlidir üst sınıf yöntem çağrısı sürprizlerle karşılaşmamak için. Faaliyetimizin üstünde olan her olayın görevleri sürdürülmelidir. Bu çağrı, giriş olaylarının başlangıcına ve çıkış olaylarının sonuna gidecektir. Böylelikle sürprizlerle karşılaşmayacağız çünkü ihtiyaç duyduğumuz ancak kontrolümüz altında olmayacak faaliyetin unsurları kullanılmadan önce oluşturulacak ve sonradan yok edilecek.

Tüm etkinlikleri eklememize gerek yok, ihtiyacımız olmayanlar varsayılan uygulamayı kullanacaktır. Sıklıkla kullanacağımız yöntemler - ve diğerlerine dokunmanız önerilmez - onCreate, onPause ve onRestart.

OnCreate'in anlamı açıktır: İhtiyacımız olan kaynakları, görüşleri ve ihtiyacımız olan her şeyi yükleyeceğimiz yerdir. Çıktı için odaklanacağımız tek yöntem Duraklattır. OnStop ve onDestroy'dan kaçınmanın nedeni, onlar üzerinde herhangi bir kontrolümüzün olmamasıdır. onPause, uygulama ön plandan çıktığında çalışır, diğer ikisi ise ihtiyaçlarınıza göre işletim sistemi tarafından çalıştırılır. Asla idam edilemezler! Bu, etkinlikten masaüstüne veya tam tersine gidersek, etkinliği tekrar tekrar oluşturma maliyetinden kaçınmak için yapılır ve işletim sistemi kullanılan kaynakları yalnızca ihtiyaç duyarsa serbest bırakır ve hepsine katılmak zorunda değildir. açık süreçler.

Bu, onPause'u çalıştırdıktan sonra uygulamanın öleceğini ve uygulamanın bizim olduğunu varsayacağımız anlamına gelir. verileri kaydetmek için son şans kaydetmemiz ve coğrafi konum belirleme gibi kullandığımız hizmetleri durdurmamız gerekir. Hizmetleri durdurduysak, onları yeniden başlatmak için uygun yer onRestart'tır.

Diğer yöntemler ise fazla kullanmamıza gerek kalmayacak. İhtiyaç duyacağımız yaygın bir durum, Facebook veya Flurry gibi üçüncü taraf kitaplıklarını entegre ettiğimizde olacaktır. Bu durumlarda, faaliyetimizin yöntemlerini kodunuzla eşleştirmemiz istenecektir. Örneğin, bir Flurry oturumuna kaydolmak için, oturumu onStart yönteminde başlatmamız istenecektir.

Bazı yararlı fikirler

  • Her olayın ne için olduğunu hatırlayın. Her zaman onCreate'e ihtiyacınız olacak ve çoğu zaman en çok tüketen hizmetleri durdurmak ve yeniden başlatmak için onPause ve onResume'a ihtiyacınız olacak.
  • Diğer olaylara dokunma açıkça ihtiyacınız yoksa.
  • OnStop ve onDestroy'a güvenmeyin, asla aranmayabilirler. İhtiyacınız olan her şeyi onPause'a kaydedin.
  • Nihai olmayan statik değişkenler kullanmaktan kaçının. Uygulama geri döndüğünüzde hala yüklenebilir ve geride bıraktıkları değerleri korurlar. Bunları kullanmaktan başka seçeneğiniz yoksa, ön plana döndüğünüzde değerlerini sıfırladığınızdan emin olun.

Daha fazla bilgi - Android'de programlama için temel kılavuz


İlgilendiğiniz konular:
Android'de virüsler nasıl kaldırılır
Bizi Google Haberler'de takip edin

Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Actualidad Blogu
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.