2012-07-23 34 views
11

Varsayılan davranışı olan varsayılan davranışı olan varsayılan, boş bir etkinliğimiz olduğunu varsayalım. Kullanıcı cihazda geri düğmesine basar. Etkinlik ortadan kayboluyor ... ama nasıl, aslında?Android geri düğmesi davranışı

  • finish() gibi aynı şekilde davranmak için geri düğmesine basmak mı?
  • Etkinlik hemen yok edildi mi (onDestroy çağrılır)?
  • Etkinliğin yok edilmesini garanti eder, ama hemen değil mi?
  • Etkinliğin yok olmayacağı bir şans var mı ve bu etkinlik gelecekte başlatıldığında bu örnek yeniden kullanılacak mı? (Yani sadece ve onStop ->onStart ve onResume denir?) Ben güvenilir bir cevap arıyorum

, burada ne olur kesinlikle emin değilseniz bu yüzden cevap etmeyiniz.

+4

Bu ilgi olabilir: http://developer.android.com/training/basics/activity-lifecycle/index.html –

+0

kodunuzu gönderebilir, bu yüzden –

+1

iyi yargılayabilir varsayılan 'de bir şey var mı varsayılan davranışı olan boş etkinlik, varsayılan amaçlı bayraklar ile başlatılmayacak; Sadece IDE'nizde varsayılan bir proje oluşturun. –

cevap

6

http://developer.android.com/training/basics/activity-lifecycle/recreating.html

Bu alt bölüm ise Sorunuza hitap eden resmi Android dokümanlarından. Bu Androidlerin Etkinlik davranışı hakkında ayrıntı tanımak için bütün bölüm okuyarak kesinlikle değer http://developer.android.com/training/basics/activity-lifecycle/index.html

: Burada okunabilir konu Managing the Activity Lifecycle, bir alt bölüm olduğunu. Ancak alt bölüm (ilk link) bu sorunun ilgili kısmıdır.

+0

Bu [link-only answer] (http://meta.stackexchange.com/q/8231/247470), dokümanın ilgili bölümlerini alıntılayabilir misiniz? İnsanları bu makaleleri okumaya zorlamak, Sokratik yöntemi denemek ve [spoiler indirimi] (http://meta.stackexchange.com/q/1191/247470) kullanmaktan hoşlanmak istediğiniz gibi hissettiriyor. – TWiStErRob

1

Kullanıcı BACK tuşuna bastığında, geçerli etkinlik yığının üst kısmından atılır (etkinliğin, sistem kaynakları düşük olduğunda hemen yok edilmeyi garanti eder) ve önceki etkinlik devam eder. (UI'nin önceki durumu geri yüklenir). (Muhtemelen ActivityManager üzerinden) OS (klavyeden, parçasının, aktivite, vb gibi herhangi bir şey tarafından durdurulmadığı takdirde)

Which actions does the back button/back key on Android trigger?

+0

Lütfen bu soruya bakın: http://stackoverflow.com/questions/4778754/kill-activity-on-back-button Eğer her zaman imha edilirse, o zaman neden arka arkaya bitirir() buton? –

+0

Ayrıca kabul edilen cevabı buradan da inceleyebilirsiniz: http://stackoverflow.com/questions/3249332/did-back-key-destroy-an-activity –

2

Eğer mevcut görev kullanıcıya önceki etkinlikleri göstermeye çalışacağı, geri bastığınızda (yine, parçaların arka yığınını görmezden geliyor).

Böyle bir etkinlik yoksa, görev sonlandırılır ve bir önceki göreve gidersiniz - ana ekran çoğu zaman veya uygulamanızı başlatmış olabilecek başka bir uygulama.

Yakında çağrılacak onDestroy'u alacaksınız (bu, bir sonraki etkinliğin başlatılmasının ne kadar süreceğine bağlı, ancak iyi bir telefonda 100-200 ms altında olması gerektiğine bağlıdır).

Etkinliğiniz, onFinish'dan sonra yeniden kullanılmayacaktır. Bu, etkinlik yok edilmeden önce gerçekleşir, böylece aynı türde başka bir etkinliğe ihtiyacınız varsa, işletim sistemi başka bir örnek oluşturur.

+0

Bu benim sorduğum soru değil. Soru yeterince hassastır. –

+0

"Etkinlik kayboluyor ... ama nasıl, aslında?" - Sanırım –

+0

sorunuzu çözdüm. Ve bu senin sorunun. Sadece ilk cümleyi okudun ve düşünmeden cevap ver. Gerisini okuyabilseydin, tam olarak ne sorduğumu açıkladığımı fark edersin. –

2

bu try this

içine bakmak gerekir kullanmak ve varsayılan etkinlikleri için geri düğmesi ile yapmak istediğine özgü söyleyin lütfen ......

0

Kesinlikle onDestroy() olarak adlandırılır ..... Normal uygulama davranışı nedeniyle, kullanıcının Geri düğmesini tıklattığı veya etkinliğinizin finish() numaralı telefonu arayarak kendi imhasını bildirdiği gibi etkinliğinizin yok edildiği birkaç senaryo vardır.

İlgili konular