"Zorla durdur" düğmesi ne anlama geliyor?


26

Gittiğimde Settings > Applications > Manage Applications > Downloadedbir uygulama listesi görüyorum. Bazı uygulamaları seçersem, "Durdurmayı zorla" etkin düğmesini görürüm, ancak bazı uygulamalarda bu düğme soluk görünür.

Bunun anlamı ne? Bu düğmeye basarsam ne olur?

Bu düğme, uygulamanın çalıştığı anlamına gelmez, çünkü bu düğmeli uygulamalar Runningbölümünde listelenmez .

Force stopDüğmeyi etkin olan uygulamaları listeleyip kaldırabilir miyim?


Android sürümü: 3.2

Yanıtlar:


18

Paco'nun cevabına yaptığı yorumumda söylediğim gibi, verdiği bilgiler çoğunlukla doğrudur: Onlardan ayrılırsanız çoğu uygulama tamamen çıkmaz ve "Ana Sayfa" düğmesiyle bırakırsanız hiçbir uygulama çıkmaz. Ayrıca, bazı uygulamalarda, kullanıcının aksi halde bırakamayacağı çalışan arkaplan hizmetleri bulunur.

Artık durdurulması gereken bir uygulamaya (arka plan hizmetleri dahil) ihtiyaç duyduğunuz bazı durumlar vardır - örneğin, bu uygulamayı kaldırmak istiyorsanız (veya bir sistem uygulaması durumunda, güncellemelerini yapmak için). Bunu "Zorla Durdur" düğmesi etkinken, "Kaldır" (veya "Kaldır") düğmesi grileşirse göreceksiniz - ancak uygulamayı "Zorla Durdur" ile durdurduğunuzda ikinci etkin hale gelir. (Her iki düğme de griyse, bunun kaldırılamayacağı bir sistem uygulaması olduğunu söyleyebilirsiniz).

Btw: "Zorla Durdur" düğmesi grileşirse (koyduğunuzda "karartılır") bu, uygulamanın şu anda çalışmadığı veya herhangi bir hizmeti çalıştıracağı anlamına gelmez (o anda).


1
You will notice this when the "Force Stop" button is active, the "Uninstall" (or "Remove") button is grayed out, Bu davranışa sahip bir örnek uygulama verebilir misiniz? Sadece bazı uygulamalarımı gözden geçirdim ve hem "Zorla Durdur" hem de "Kaldır" düğmelerinin etkin olduğunu gördüm. Android 4.4.2'leyim.
cychoi

1
Cevabım zaten 2 yaşında olduğundan, Kitkat o zamanlar müsait değildi; bu davranış tüm uygulamaları değiştirmiş veya etkilememiş olabilir. Kitkat ile test edemiyorum (çalışan hiçbir cihaz yok) ve kafamın dışında hangi paketleri gördüğümü hatırlamıyorum, üzgünüm.
Izzy

15

Arkasında kod Durmaya zorla düğmesi karmaşık ve belgesiz olduğunu. Sözlü olarak çoğaltacağım ve daha sonra her seferinde tek bir parça üzerinden geçeceğim.

private void checkForceStop() {
    if (mDpm.packageHasActiveAdmins(mPackageInfo.packageName)) {
        // User can't force stop device admin.
        updateForceStopButton(false);
    } else if ((mAppEntry.info.flags&ApplicationInfo.FLAG_STOPPED) == 0) {
        // If the app isn't explicitly stopped, then always show the
        // force stop button.
        updateForceStopButton(true);
    } else {
        Intent intent = new Intent(Intent.ACTION_QUERY_PACKAGE_RESTART,
                Uri.fromParts("package", mAppEntry.info.packageName, null));
        intent.putExtra(Intent.EXTRA_PACKAGES, new String[] { mAppEntry.info.packageName });
        intent.putExtra(Intent.EXTRA_UID, mAppEntry.info.uid);
        intent.putExtra(Intent.EXTRA_USER_HANDLE, UserHandle.getUserId(mAppEntry.info.uid));
        getActivity().sendOrderedBroadcast(intent, null, mCheckKillProcessesReceiver, null,
                Activity.RESULT_CANCELED, null, null);
    }
}

İlk ifsatır , paketin herhangi bir bileşeninin bir aygıt yöneticisi olup olmadığını kontrol eder (yani, Ayarlar uygulamasının Güvenlik sayfasındaki Aygıt yöneticileri listesinde işaretliyse ). Öyleyse, düğme devre dışı bırakılır (grileşmiş), bu nedenle aygıt yöneticilerini durduramazsınız.

Ardından, else ifpaketin zaten durup durmadığını kontrol eder . Burada, durmak sadece "koşmamak" demek değildir. Bildiğim kadarıyla söyleyebilirim, bir paket içindedir durdu (örneğin menüden başlatarak gibi) ondan herhangi bir bileşeni çalıştırmak hiç olmasa devlet veya bir basılı ettiyseniz Durmaya zorla düğmesini (bu bir veya "Çalışmayı durdurdu" iletişim kutusu) ve bileşenlerinden hiçbirini yeniden çalıştırma. Paket halinde değil durdurulmuş, düğme edilir etkin .

elseDava bir uygulama nadir olasılığa kapsayan etti durdu ve bir cihaz yönetim değil edilmiştir. Bu durumda, diğer sistem hizmetlerine düğmeyi etkinleştirme şansı verir . Örneğin, uygulamanın bir alarmı ayarlanmış ve beklemede olabilir, bu daha sonra uygulamanın durdurulmuş durumdan bile tekrar başlatılmasına neden olur. Bu durumda, düğme etkinleştirilecektir. Başka hiçbir sistem servisinin düğmeyi etkinleştirmek için bir nedeni yoksa, devre dışı bırakılır.

özet

Durmaya zorla paketinde bir cihaz yönetim değilse düğme etkindir ve ya zaten bu uygulamayı-durmuş zorla değil ya bunu zorla durdurdu ama bir sistem hizmeti yeniden çalıştırmak düşünüyor var.

Uygulama çalışıyorsa (ve bir aygıt yöneticisi değilse), Zorla durdur düğmesi kesinlikle etkin olacaktır, ancak etkin olan düğme uygulamanın çalıştığı anlamına gelmez.


Düğmenin görüntülenip görüntülenmeyeceğini belirleyen kodu bize göstermeniz harika. Benim gibi bir geliştiriciye bu mükemmel bir cevap. Ama gerçekten, bu cevabın sadece yarısı. Düğmeye gerçekten bastığınızda ne olacağını göstermezsiniz.
John Pankowicz

2

Android hafızasında 4 çeşit uygulama saklar. Hepsini hatırlamıyorum ama çalışan ve önbelleğe alınmış arka plan bunlardan 2 ... (önbelleğe alınmış arka plana, çalışan sekmedeyken donanım menüsü düğmesine tıklayarak ve açılan seçeneği belirleyerek erişilebilir )

Dolayısıyla, çalışan işlemlerde görülmese de, tamamen ölü değildir.

Çoğunlukla, önbellekteki arka plan işlemlerinde olacaktır.

ayrıca, görev yöneticileri hakkında .. Android uygulamaları verimli bir şekilde yönetmek için kodlanmış olduğu için kullanılması tavsiye edilmez.App/Task katilleri aslında katili uygulamaları öldürdüğü gibi bataryayı boşaltır, algoritmanın takip ettiği algoritmaya göre, bunlar başlatılır. tekrar! (ve uygulamalar başlangıçta ideal durumdan çok daha fazla bellek kaplar) bu nedenle bir döngü haline gelir ve pili boşaltır.

bu nedenle kuvvet kapat düğmesi çoğunlukla çalışan ve önbelleğe alınmış işlemlerde etkindir ve diğer iki işlem türünde bulunan çok az sayıda uygulamada var olabilir!

diğer uygulamalarda ise greyd!


1
4 tipten fazla ( daha yakın bir açıklama için bkz. Android Uygulamasını ve Etkinlik Yaşam Döngülerini Anlama ). Ancak, bu sınıfların "zorla durdurma" düğmesiyle hiçbir ilgisi yoktur, en azından doğrudan değil ( cevabımı görün : aktif bir "zorla durdurma" düğmesi, uygulamanın veya kayıtlı hizmetlerinden birinin çalışıyor olması anlamına gelir).
Izzy

-2

Bu düğme, cihazınızı en son başlattığınızdan beri çalışan veya çalışıyor olan uygulamalar için etkindir.

Çıktığınızda Android uygulamaları tamamen öldürmez, bu düğme uygulamayı tamamen kapatmak içindir ve yığından kaldırır (çalışan uygulamalar), bu düğme uygulama tarafından kullanılan belleği serbest bırakır.

Çalışan uygulamaları listelemenin bir yolu yoktur, ayrıca arka planda çalışan uygulamaların da bu düğmesi vardır.

Cihazınızın hafızasını otomatik olarak yönetmek için Google Play Store'da ücretsiz katil uygulamalar var.


3
Temel bilgiler doğru olsa da: "otomatik katiller" ile ilgili kısmı daha iyi çıkartın. İhtiyaç duyduklarında biraz zaman olabilir (Android 2.x'ten önce), ancak bunlar kesinlikle kontrast üretkendir ve çoğunlukla batarya kullanım süresini olumsuz yönde etkiler.
Izzy
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.