Android'deki uygulamaları kapatmanın doğru yolu nedir?


69

Android platformunda yeniyim ve bu muhtemelen aptalca bir soru, ama ...

Bir uygulamayı nasıl kapatırsınız?

Bir uygulamadayken ve dışarı çıkmak istediğimde sadece "Ana Sayfa" yı tıklayıp devam ediyorum, ancak bir Görev Yöneticisi uygulaması yükledim ve her şeyin çalıştığını fark ettim .

Uygulamalardan çıkmanın bir yolu var mı? Yoksa bir görevden her çıktığımda Görev Yöneticisini kullanmam gerekir mi?


Yanıtlar:


48

BACKDüğmeyi kullanarak uygulamadan çıkarsanız, o zaman o onDestroy()anki Aktivite'yi çağırır , eğer HOMEsadece basarsanız çağırır. onPause()
Ancak endişelenmeyin, Aktiviteler pili boşalmayacak, sadece hafızaya bırakılmaları için açılabilirler. gelecekte daha hızlı.

Android bu görev katil uygulamalardan birini kullanarak tavsiye etmem Android bir şey için bu şeyleri bellekte tutmak için tasarlanmıştır, bir görev katil kullanarak pilinizi çekerek sadece bir ekstra daha fazla hizmettir .. Dikkat etmeniz gereken şey twitter veya e-posta istemcileri gibi hizmetleri arka planda çalıştıran ve sunucularını çeken uygulamalar, böyle bir servisi olan herhangi bir iyi uygulamanın kapatılması seçeneği olacaktır.


1
Bir kaç uygulamalar fark etmiş do bu durumu durdurulmuş içinde pilin bir çok eritir. Yani, Google Haritalar’ın en son sürümü ve GalaxIR olarak adlandırdığım bir oyun. Bu yüzden kötü suçluları göz önünde bulundurun ve bunları doğru bir şekilde kapattığınızdan emin olun.
keithjgrant

1
Eğer bir arka plan servisi olan meyilli yiyorsanız yanılıyorsunuz.
Nathan Schwermann

5
Geliştirilmemiş ve Android uygulama yaşam döngüsünü takip etmeyen bir uygulamaya sahip olmak gerçekten mümkün. Örneğin, bir iş parçacığı işletim sistemi tarafından duraklatıldıktan sonra bile (Home tuşuna basılarak) bir etkinlikte aktif kalabilir, bu durumda uygulama pili kullanmaya devam eder.
jmbouffard

1
Geri düğmesine bastığımda pek çok uygulamanın çıkmadığını öğrendim. Örneğin: Pandora, G
Clay Nichols,

1
(düzenleme zamanımın süresi doldu) .... Geri düğmesini kapatmayan diğer uygulamalar: Pandora (Geri basıldıktan sonra bile oynamaya devam ediyor), Google Play Store, FaceBook, Podkicker. Test ettiğim yol, uygulama kaybolana kadar (genellikle beni eve geri koyan) ve ardından Kolay Görev Katilini çalıştırana kadar Geri düğmesini tıklatmaktır.
Clay Nichols,

25

Okuduğum her şeyin, Backdüğmenin uygulamalardan çıkmanın doğru yolu olduğunu söylediğinden eminim .

Düğmesine basmak Home, Android'in artık gerekmediğine karar verene kadar arka planda çalışmasını sağlar, bu da bir şeyi kontrol etmek için uygulamalar arasında geçiş yapmanız gerektiğinde kullanışlı olabilir (Home'u birkaç saniye basılı tutmak size yakın zamanda çalışan uygulamaların listesini verir) çoğu telefona geri dönebilirsiniz) ancak geri düğmesini kullanarak çıkan uygulamaya app kapatmak istediğini söyler.


3
Holding Homedüğmeye sadece birini çalıştırmayan, son 6 açılan uygulamaları sıralar.

@ Loic: benim için 8 gösterir.
ale

1
@LoicWolff, AlEverett Kullanılan başlatıcıya ve ROM'un kendisine bağlıdır.
t0mm13b

Bu tam olarak doğru değil. Etkinlikler Android'de arka planda yayınlanmaz.
Dan Hulme

12

Bazı uygulamaların menülerinde "Çıkış" seçeneği bulunur. Çoğu değil.

Gerçekten endişelenmene gerek yok. Sadece bir sonraki ihtiyacınız olan uygulamaya gidebilirsiniz. Android gerektiğinde kaynakları serbest bırakarak oldukça iyi bir iş çıkarır.

Güncelleme : AndroidSpin bazı gerçek dünya araştırmaları yaptı .


Güzel bağlantı, ty :)
Flow

7

Etkinlikler arka planda çalışmaz

Android'de, etkinlikler (yani, görebileceğiniz uygulamanın bir bölümü) arka planda çalışmaz. Ekrandayken yalnızca çalışabilir (ve pil gücünü kullanabilir). Etkinlik, evi terketmek veya geri bırakmak için kullanmanıza bakmaksızın çalışmayı durdurur . Tek fark, Android'in uygulamanın kaydetmesini istediği veridir, bu nedenle hiçbir seçenek "doğru yol" değildir. Sadece ne yapmak istediğine bağlı.

Ev

Eğer kullanırsanız eve aynı ekranda,: Eğer (son uygulamalar listesine göz örn) daha sonra geri gelip, yine bıraktığınız aynı durumda olacağım böylece, Android aynı durumda uygulamayı bırakır gösterilen aynı şeylerle. Örneğin, bir e-posta uygulamasıysa ve bir e-postaya bakıyorsanız, o zaman hangi e-postanın olduğunu hatırlar ve size aynı olanı gösterir.

Sonunda (yaklaşık yarım saat sonra), Android, uygulamaya geri dönmeyeceğiniz sonucuna varır, bu nedenle bu durumu sıfırlar: uygulamayı bir daha başlattığınızda, ön / ana ekrandan başlayacaktır. Örneğe devam etmek için, e-posta uygulaması hangi e-postaya ve klasöre baktığınızı unutacak ve size gelen kutusunu gösterecektir.

Geri

Eğer kullanırsanız geri , size geri Bu görüşe gelmek istemiyoruz Android'i söylüyoruz. Neye baktığınıza dair bilgileri derhal yok edecektir. Uygulamayı bir sonraki başlatışınızda, ön ekranı (örneğin gelen kutusu) gösterir.

Diğerlerinin söylediği gibi, uygulamalar geri düğmesinin davranışını denetleyebilir : örneğin, web tarayıcıları tarayıcı geçmişine geri dönmek için bunu kullanır. Açıkladığım şey geri düğmesinin varsayılan davranışı ve geliştiricilerin kafan karışmasını önlemek için bu davranışı böyle tutmaları isteniyor.

Önbelleğe alınmış arka plan işlemleri

Hangi yöntemi kullanırsanız kullanın, Android, uygulamayı olabildiğince hafızaya (ancak çalıştırmayacak şekilde) bırakır. Bu daha verimli olmaktır. Uygulamaya geri döndüğünüzde, eğer hala hafızadaysa, Android hemen tekrar çalıştırabilir; Hala bellekte değilse, Android uygulamanın tekrar depodan yüklenmesi için zaman ve enerji harcamalıdır.

Eski Android sürümlerinde, arka planda bu şekilde bellekte kalan uygulamalar "çalışan uygulamalar" listesine dahil edildi. Bu kullanıcılar için biraz kafa karıştırıcıdır - insanların uygulamanın gerçekten de çalıştığını düşünmelerini sağlar - bu yüzden yeni sürümler bu uygulamaları "önbelleğe alınmış arka plan işlemleri" olarak adlandırır, yalnızca çalıştırılmadıklarını netleştirmek için kullanılır.

Peki ya arka plan uygulamaları?

Daha önce, faaliyetlerin arka planda çalışmadığını söyledim. E-posta istemciniz postaları nasıl kontrol eder? Etkinliklerin yanı sıra, uygulamaların da hizmetleri olabilir . Hizmetlerde görmeniz veya etkileşim kurmanız için herhangi bir GUI yoktur, ancak arka planda çalışırlar. Genellikle bir hizmet yalnızca nadiren çalışır, örneğin postaları saatte bir kez kontrol etmek gibi, ancak uygulama geliştiricisinin hizmeti her zaman çalıştırması ve pilinizi boşalması mümkündür.

İle bir etkinlik bırakarak arka veya evde hizmet çalışmasına devam edebilir veya belirli bir zaman (posta çek nedeniyle bir sonraki saat) sonra tetiklenebilir: Android aynı uygulamasından herhangi bir hizmet nasıl davrandığı değiştirmez.

özet

Özetle, geri mi yoksa ev mi kullandığınız önemli değil : yalnızca uygulamanın bir sonraki çalıştırışınızda size gösterdiği şeyi değiştirir. Pil kullanımı üzerinde bir etkisi yoktur. Hiçbiri PC'nizdeki bir programdan "çıkmaya" karşılık gelmez.


Birisinin bunu kapsamasına çok sevindim! Ben bir geliştiriciyim, ancak Verizon Wireless için çalışıyordum ve ne zaman ihtiyaç duymadığı konusunda kaç kişinin endişelendiğini söyleyemem.
Roan

3

Android'de, uygulamaların hiçbir zaman kapatılmasına gerek kalmaz ve işletim sistemi, kaynaklar başka bir yerde gerekli olduğunda kalan uygulamaların belleğini temizlemeye özen gösterir. Görev katili kullanmak, işletim sisteminin normal çalışmasını bozacak ve hatta uygulamaları her zaman baştan yeniden yüklemek zorunda kalacakları için cihazı yavaşlatabilir.

Android uygulama yaşam döngüsü, üstte olmayan uygulamaların artık herhangi bir cpu kullanmayan duraklatılmış bir duruma getirileceği şekilde çalışıyor; sadece tekrar başvurunun açılması durumunda hafıza içeriği tutulur; ve gerekirse hafıza boşalacaktır.

Bunun söylenmesi, uygulama geliştiricisinin, başvurusunu oluştururken uygulama yaşam döngüsünü takip etme sorumluluğuna sahip olduğu, böylece hiçbir zaman gerçekten durmayacak veya durmayacak bir uygulama ile sonuçlanacak bazı hatalar veya hatalar ortaya çıkabilir. Eğer böyle bir uygulama ile karşılaşırsanız ve onu kapatmak için neye başvurursanız "Ayarlar" -> "uygulamalar" -> "Uygulamaları yönet" i seçerek uygulamadaki "Durdurmayı zorla" seçeneğini seçin.

Ancak cihazda sürekli çalışan bir görev katili kullanılmasını tavsiye etmem.


1

Sadece schwiz'in cevabına, geri düğmesinin işlevselliğini geçersiz kılmak için gereken sadece birkaç kod satırı olduğunu eklemek istiyorum. Bu yüzden uygulamayı kapatmak her zaman güvenilir değildir. Uygulama geliştiricisi, geri düğmesine basarak uygulamayı kapatmak istemezse, kapanmaz.

En iyi uygulama geliştiricileri, uygulamanın ana menüsünde geri düğmesine basarak bir uyarı iletişim kutusu açsa da, kullanıcının uygulamadan çıkmak isteyip istemediğini sorarsa, çıkmak için tıklarsanız, uygulamayı kapatır.

Doğru cevap bu olabilirdi, uygulamanın kapanması tamamen uygulama geliştiricisine, uygulamanın ana düğmeye bastığında kapanmasını istiyorsa, çıkış kodunu koyacaktır onPause(). Geri düğmesini istiyorlarsa, içine koyacaklar onBackKeyPressed. Yani gerçekten kullanıcının elinde değil.

Kullanıcı, gerekmediğinde uygun kapanma işlevini sağlamayan uygulamaları kullanmaktan kaçınabilir. Görev yöneticileri uygulamayı kapatmak için iyi bir yol değildir, çünkü uygulamayı çökertebilir ve durumlarını kurtarma şansı vermez.

İşletim sistemi gerektiğinde uygulamayı kapatır, bu yüzden çok fazla endişelenmemelisiniz.

Düzenleme:
Uygulamayı bıraktıktan hemen sonra, örneğin ev tuşunu tıkladığınızda uygulamaları imha etme seçeneği vardır. Git - Settings- Developer Options-> Don't keep Activities. Bir geliştirici seçeneği olsa da, arka planda çalışan uygulamalar konusunda çok endişeliyseniz, bu seçeneği kullanabilirsiniz. Ancak geliştiriciler tarafından kullanılmasının tavsiye edilmediğini unutmayın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.