Mögliches Duplikat:
Wie kann ich die Ausführung von Anwendungen und Diensten stoppen?
Es gibt bereits eine ähnliche Frage wie diese, aber meine ist enger gefasst und wird in der anderen Frage nicht behandelt:
Betrachten Sie den Fall einer App, die die folgenden Kriterien erfüllt:
Kann ich verhindern, dass eine solche App im Hintergrund läuft?
Um die Notwendigkeit dieser speziellen Frage zu veranschaulichen und warum ich keine bestimmten Apps nenne, bedenken Sie, was ich beim Schreiben dieser Frage im Sinn hatte:
Ich möchte meine Apps durchgehen und entscheiden, welche ich als Dienste ausführen möchte. Einige sollten ohne Einschränkungen laufen. Einige sollten niemals laufen. Einige sollten nur ausgeführt werden, wenn bestimmte Bedingungen erfüllt sind. Mit den Informationen aus einer Antwort auf diese Frage könnte ich dies implementieren - möglicherweise durch ein benutzerdefiniertes Skript, möglicherweise mit Tasker oder möglicherweise mit einem anderen Ansatz. Der Versuch, dies über die Einstellungen jeder einzelnen App zu handhaben, wäre nahezu unmöglich.
Wenn das, was ich in dieser Frage verlange, nicht möglich ist, ist diese Anwendung natürlich nicht praktikabel.
Es ist in Ordnung, wenn die App im Hintergrund nur eine Aktivität ist. Aktivitäten verbrauchen nur etwas Speicher und können normalerweise keine Berechnungen im Hintergrund ausführen. Daher wird für sie keine CPU oder Batterie verwendet. Aber wenn die App im Hintergrund einen Dienst ausführt:
Pingen Sie den Entwickler! Einer der größten Daemons, die mit Android geliefert werden, sind Dienste, die ohne Grund im Hintergrund laufen oder wenn eine einfache Intervallprüfung mit dem AlarmManager von Android ausreichen würde. Wir müssen sie alle mit Feuer töten und nicht, indem wir sie ignorieren. Alles, was keine Korrektur durch den Entwickler beinhaltet, ist nur ein schmutziger Hack, der erfahrungsgemäß zu anderen negativen Nebenwirkungen führt.
Reine Android-Apps und ihre Aktivitäten bleiben normalerweise noch eine Weile im Gedächtnis, nachdem sie aus dem Blickfeld genommen wurden. Aber irgendwann werden sie möglicherweise vom ActivityManager von Android gelöscht, wenn ein anhaltender Speicherdruck besteht. Dies ist beabsichtigtes Verhalten, wir (die Benutzer) wollen es so und es funktioniert gut in neueren Android-Versionen. Daher ist nichts falsch, wenn Sie sehen, dass Ihr Dateimanager im Speicher herumhängt.
Wenn es sich jedoch um einen Dienst handelt, der ohne ersichtlichen Grund für immer läuft (und ohne die Möglichkeit, den Dienst irgendwo in den Apps-Einstellungen zu deaktivieren), sollten Sie sich an den Entwickler wenden . In 99 % aller Fälle gibt es keinen Grund, damit Ihr kostbares Gedächtnis zu verschwenden. Android bietet mit Intents und dem bereits erwähnten AlarmManager genügend Möglichkeiten, langlaufende Dienste zu vermeiden. Manchmal antworten Entwickler mit "aber Google Maps macht das auch" . Ich behaupte, dass dies niemals eine Entschuldigung dafür ist, auf andere zu zeigen, und es ist kein triftiger Grund, einen Hintergrunddienst auszuführen.
Kann ich verhindern, dass eine solche App im Hintergrund läuft?
Du weigerst dich, die Antworten zu akzeptieren, die du bekommst, weil du denkst, dass sie nicht passen, aber sie tun es. Ihre Frage ist, wie Sie Apps automatisch stoppen können, anstatt sie im Hintergrund laufen zu lassen. Die Antwort, die Sie erhalten, ist, dass dies in den meisten Fällen unnötig ist und die Art und Weise, wie Android für den Umgang mit Hintergrund-Apps erstellt wurde, vollständig umgeht.
Es gibt viele Apps, um Apps im Hintergrund zu beenden. Sie können sie auch wegwischen oder in bestimmten ROMs kurze Befehle wie "Langes Zurückdrücken" verwenden, um den Vorgang zu beenden. Sehr selten ist dies jedoch vom Benutzer zu erwarten; Eine sich schlecht benehmende App sollte zuerst gemeldet werden, anstatt umgangen zu werden.
Wenn eine App "keine legitime Notwendigkeit hat, im Hintergrund ausgeführt zu werden", aber dennoch Systemressourcen verwendet (bitte stellen Sie sicher, dass dies tatsächlich der Fall ist), dann ist diese App schlecht konzipiert. Es ist kein Fehler des Android-Betriebssystems.
Davon abgesehen gibt es viele Möglichkeiten, Apps manuell herunterzufahren. Es macht keinen Sinn, es automatisch zu tun, die meisten Apps verhalten sich gut.
dd
Befehl“ erwarten und sich dann weigern zu akzeptieren, dass dies cp
eine bessere Alternative ist. Ich sehe den Sinn darin, jede Frage aus einer Lernperspektive zu beantworten, aber wir wollen auch die Leute, die von außen auf die Frage kommen, nicht durch Suchen und so weiter verwirren.Verwenden Sie Llama , eine App, die viele Dinge automatisieren kann, einschließlich des Beendens einer App, wenn Sie zu einer anderen App wechseln. Es erfordert Root, um Apps zu beenden.
Erstellen Sie eine neue Event
. Fügen Sie die aufgerufene Bedingung hinzu Active App
und wählen Sie den Status aus App stopped or in background
. Wählen Sie die App aus, auf die Sie sich konzentrieren möchten.
Fügen Sie als Nächstes eine Action
. Wählen Sie Kill Application (root privileges)
und dann erneut Ihre App aus.
Wenn Sie jetzt die App verlassen, wird Llama sie beenden.
Beachten Sie, dass die App möglicherweise andere Startmöglichkeiten hat, z. B. das Starten beim Booten oder das Empfangen eines Textes oder eines anderen Intent
, das sie verarbeitet. Um zu verhindern, dass es mit diesen umgeht Intents
, verwenden Sie die App Permissions Denied oder verwenden Sie ein benutzerdefiniertes Rom wie CyanogenMod, das die Fähigkeit eingebaut hat. Diese Apps können Berechtigungen für jede App widerrufen (auch hier ist Root erforderlich).
Bearbeiten: Es sieht so aus, als ob die kostenlose Version von Permissions Denied nicht mehr verfügbar ist. Ich kann immer noch auf die Google Play-Seite zugreifen (weil ich sie installiert habe), aber sie ist für neue Benutzer weg. Die kostenpflichtige Version ist jedoch immer noch da.
Wenn Sie Ice Cream Sandwich oder Jellybean ausführen, können Sie in die Einstellungen gehen und die App manuell herunterfahren, indem Sie zu den laufenden Apps wechseln. Alternativ können Sie auf die Schaltfläche "Letzte App" klicken und sie vom Bildschirm wischen. Diese Methode erhält jedoch nicht alle Hintergrundprozesse.
pzkpfw
Lüge Ryan
Scott Severance
Fluss
t0mm13b
Scott Severance
Ale
Chris Stratton