So fixieren Sie die Hintergrundprozesse einer App ohne Root unter Android 7.0+

Android galt im Vergleich zu iOS immer als die „leistungsstärkere“ mobile Plattform, da die Anwendungen von Drittanbietern über mehr Freiheit verfügen. Dies ermöglicht eine weitgehende Automatisierung, da Android-Anwendungen mehr Aufgaben ausführen können, während sie im Hintergrund ausgeführt werden. Dies ist jedoch mit einem Nachteil verbunden, da sich durch Hintergrundprozesse auf dem Gerät die Tür für einen potenziell höheren Batterieverbrauch öffnet.

Es ist eine Sache zu wissen, dass Sie Ihr Telefon mit Anwendungen laden, die im Hintergrund ausgeführt werden, da Sie bereit sind, einen Teil Ihrer Akkulaufzeit für die damit verbundenen Vorteile zu opfern. Anders sieht es aus, wenn Sie nur herkömmliche Anwendungen herunterladen, die nicht optimiert sind und die Aufgaben im Hintergrund ausführen, wenn Sie sie nicht benötigen oder möchten. Google hat sich bemüht, dieses Problem zu beheben, indem es immer mehr Einschränkungen für die Hintergrundfunktionen von Anwendungen vornimmt. Die Veröffentlichung von Android O bringt bei weitem die meisten Einschränkungen für Hintergrundprozesse und Empfänger mit sich.

Allerdings wird die überwiegende Mehrheit der Nutzer Android O in vielen Monaten (wenn überhaupt) nicht auf ihren Geräten sehen. Wenn Sie jedoch Android 7.0 oder Android 7.1 ausführen, können Sie mit einem einfachen Trick manuell verhindern, dass eine Anwendung jemals im Hintergrund ausgeführt wird - und es sind keine Root- oder Drittanbieteranwendungen erforderlich . Dies ist leistungsfähiger als das, was Greenify oder Apps wie Brevent bieten, da diese Apps ohne Root-Zugriff nur in begrenztem Umfang eingesetzt werden können. Mit diesem Trick können Sie jetzt verhindern, dass Apps wie Facebook oder Hangouts jemals im Hintergrund ausgeführt werden - sie funktionieren nur, wenn sie aktiv genutzt werden!


Lernprogramm "Hintergrundprozesse einschränken"

Bedarf:

  • Android Nougat (7.0 oder 7.1) Gerät
  1. Installieren Sie die USB-Treiber für Ihren speziellen Gerätehersteller (Google bietet hier eine Liste einiger universeller USB-Treiber an).
  2. Laden Sie die ADB-Binärdatei für Ihr bestimmtes Betriebssystem (Windows, Mac, Linux) herunter. Diese Links verweisen immer auf die neueste Version der Binärdatei.
  3. Extrahieren Sie den Inhalt der ZIP-Datei in einen leicht zugänglichen Ordner auf Ihrem PC.
  4. Gehen Sie auf Ihrem Telefon zur App Einstellungen und tippen Sie auf die Option Über Telefon.
  5. Suchen Sie die Build-Nummer und tippen Sie sie siebenmal an, um den Entwicklermodus zu aktivieren.
  6. Kehren Sie zum Hauptmenü Einstellungen zurück und rufen Sie die Entwickleroptionen auf, damit Sie den USB-Debugging-Modus aktivieren können.

  7. Schließen Sie Ihr Telefon an den Computer an und ändern Sie es vom Modus "Nur Laden" in den Modus "Dateiübertragung (MTP)". Dies ist nicht für jedes Gerät erforderlich, aber für viele Geräte ist dies aus Sicherheitsgründen erforderlich, damit ADB funktioniert.
  8. Kehren Sie zum PC zurück und navigieren Sie zu dem Verzeichnis, in das Sie die ADB-Binärdatei extrahiert haben.

  9. Starten Sie eine Eingabeaufforderung oder ein Terminal in Ihrem ADB-Verzeichnis. Für Windows-Benutzer können Sie dies tun, indem Sie die Umschalttaste gedrückt halten und mit der rechten Maustaste klicken und dann die Option "Eingabeaufforderung hier öffnen" auswählen. (Bei einigen Windows 10-Benutzern wird möglicherweise die Eingabeaufforderung durch PowerShell ersetzt.)

  10. Geben Sie in der Eingabeaufforderungs- oder Terminalumgebung den folgenden Befehl ein: adb devices
  11. Dadurch wird der ADB-Daemon gestartet, falls er noch nicht gestartet wurde. Warten Sie nur, bis er fertig ist. Wenn Sie ADB zum ersten Mal ausführen, werden Sie auf Ihrem Telefon aufgefordert, eine Verbindung mit dem Computer herzustellen. Lassen Sie hier den USB-Debugging-Zugriff zu.

  12. Wenn Sie jetzt den Befehl adb devices ab Schritt 10 erneut ausführen, gibt die Eingabeaufforderung / das Terminal die Seriennummer Ihres Geräts aus. Wenn ja, dann können Sie weitermachen. Wenn nicht, sind die USB-Treiber wahrscheinlich nicht richtig installiert.
  13. Anschließend müssen Sie den Paketnamen für die Anwendung suchen, bei der Sie Hintergrundprozesse einfrieren möchten. Sie können dies tun, indem Sie die App Inspector-Anwendung auf Ihrem Telefon installieren.

    Schritt 1: Tippen Sie auf "App-Liste"

    Schritt 2: Finden Sie die App, die Sie verlassen möchten. (zB "Kompass")

    Schritt 3: Finden Sie den Paketnamen unter dem App-Namen (zB "com.huawei.compass")

  14. Kehren Sie zur Eingabeaufforderung zurück und geben Sie den folgenden Befehl ein: adb shell
  15. cmd appops set RUN_IN_BACKGROUND ignore nun den folgenden Befehl aus, um die Hintergrundprozesse einer Anwendung cmd appops set RUN_IN_BACKGROUND ignore : cmd appops set RUN_IN_BACKGROUND ignore

  16. Wenn Sie jemals die soeben vorgenommene Änderung cmd appops set RUN_IN_BACKGROUND allow machen und die Hintergrundprozesse einer App erneut zulassen möchten, geben Sie den folgenden Befehl ein: cmd appops set RUN_IN_BACKGROUND allow

  17. Sie wissen, dass es funktioniert, wenn Sie zu einer anderen ADB-Shell-Eingabeaufforderung zurückkehren und keine Fehlermeldung erhalten.

Erläuterung

Mit diesem Befehl können Sie eine verborgene Berechtigung einschränken, auf die der Benutzer normalerweise nicht in der App Einstellungen zugreifen kann. Diese Berechtigung wird als RUN_IN_BACKGROUND-Berechtigung bezeichnet. Sie kann nur mithilfe von "cmd appops" geändert werden, der Befehlszeilenschnittstelle für "App Ops" - Googles benutzerbezogenes Berechtigungsverwaltungssystem.

Google hat diesen versteckten ADB-Befehl hinzugefügt, mit dem Sie verhindern können, dass Anwendungen implizite Broadcast-Absichten empfangen (z. B. das Aufwecken der App im Hintergrund) und dass diese Anwendungen Hintergrunddienste planen, ohne JobScheduler zu verwenden (z. B. das Aufwecken der App bei einem Unpünktliche Zeit, Batterie entladen). Dieser Befehl ist eigentlich nur für Entwickler gedacht, die simulieren möchten, wie sich ihre App unter Bedingungen mit geringem Arbeitsspeicher verhält. Zum Glück können wir ihn jedoch selbst verwenden.

Durch das Entfernen von Abhängigkeiten von den Hintergrunddiensten einer App und von im Manifest registrierten impliziten Rundfunkempfängern können Entwickler ihre Anwendung optimieren, um sie besser auf Geräten mit geringem Arbeitsspeicher auszuführen. Laut Google können für diese Art von Geräten optimierte Anwendungen oder Anwendungen mit wenig Arbeitsspeicher sowohl die Leistung als auch das Nutzererlebnis verbessern. Auf der Google I / O in diesem Jahr kündigte das Unternehmen eine modifizierte Version von Android namens Android Go an, die für Smartphones mit sehr geringem Arbeitsspeicher verwendet werden soll. Wir gehen daher davon aus, dass dieser Befehl für Entwickler nützlich sein wird, die auf diese Plattform abzielen.

In jedem Fall kann dieser Befehl für den Durchschnittsbenutzer recht nützlich sein, achten Sie jedoch darauf, was Sie hier einschränken. Apps wie Hangouts oder Facebook werden im Hintergrund nicht mehr synchronisiert, bis Sie sie öffnen. Wenn Sie dies anstreben, macht es Ihnen sicher nichts aus. Seien Sie jedoch nicht überrascht, wenn sich Ihre E-Mails oder Nachrichten verzögern, wenn Sie diesen Befehl in einer App ausführen, die von Hintergrundempfängern abhängt.