Was bedeuten CPU Gesamt, CPU Vordergrund und Wach bleiben?

Ich habe meinen Akkuverbrauch auf meinem Android-Gerät (HTC One) im Auge behalten, hauptsächlich um zu sehen, ob ich ihn während eines ganzen Arbeitstages entladen kann, und bin auf die App-Nutzungsdetails unter den Energieeinstellungen gestoßen.

Ich bekomme einen Prozentsatz der von der App verwendeten Batterie, die CPU-Gesamtsumme, den CPU-Vordergrund und wach bleiben. Ich bin mir nicht sicher, was sie bedeuten, obwohl ich eine Vermutung anstellen kann, aber ich frage mich mehr darüber, wie sie funktionieren.

Zum Beispiel habe ich den Chrome-Browser den ganzen Tag über ausgiebig verwendet (das Gerät war etwa 14 Stunden lang eingeschaltet und hatte eine verbleibende Akkulaufzeit von etwa 30 %) und festgestellt, dass die Akkunutzung für die App bei 54 % lag. Unter Verwendungsdetails (siehe Bild unten) betrug die CPU-Gesamtzahl 29m 31s; CPU-Vordergrund war 14m 43s; und Wach bleiben war 30s.

Bildschirmfoto
Screenshot (Bild anklicken für größere Variante)

Wie können diese Zahlen relativ niedrig sein, wenn ich weiß, dass ich Chrome mehr als eine halbe Stunde lang verwendet habe und es als primäre App viel länger als 15 Minuten ausgeführt wurde, was davon ausgeht, dass meine Ideen zur CPU-Gesamt- und Vordergrundnutzung was sind Ich glaube, das sind sie.

Was bedeuten diese drei Zahlen im Wesentlichen in Bezug auf die App-/Akkunutzung und was sagen sie mir?

Antworten (2)

Das erste, woran Sie denken sollten, ist, dass eine App, wenn sie ausgeführt wird, während der gesamten Laufzeit keine Berechnungen durchführt: Die meiste Zeit ist sie im Leerlauf und wartet darauf, dass Daten über das Netzwerk ankommen, oder während Sie sie betrachten auf dem Bildschirm. Nur sehr schlecht geschriebene Apps und Spiele halten die CPU während der gesamten Laufzeit aktiv: Dadurch wird der Akku sehr schnell entladen und Ihr Telefon ziemlich warm.

Selbst wenn Chrome also 30 Minuten lang auf dem Bildschirm war, sollte es keine 30 Minuten CPU-Zeit verbraucht haben. Wenn es in dieser Zeit völlig statisch ist und Sie nicht damit interagieren, hat es möglicherweise überhaupt keine CPU-Zeit verbraucht! Aber im anderen Extrem würde es, selbst wenn es ständig eine Seite scrollen würde, keine 30 Minuten CPU-Zeit verbrauchen: Der Bildschirm wird alle 1/60 Sekunde aktualisiert, und jedes Mal muss es nur lange genug laufen, um zu funktionieren heraus, was der nächste Frame sein sollte.

CPU-Vordergrund

Vor diesem Hintergrund ist der CPU-Vordergrund die Zeit, die die App auf der CPU ausgeführt wurde, während eine Aktivität der App im Vordergrund war. (Es kann auch beinhalten, wann ein Dienst von der App im Vordergrund war: das heißt, das Anzeigen einer "laufenden" Benachrichtigung.) Es ist keine sehr nützliche Zahl für sich.

CPU insgesamt

Ich bin sicher, Sie wissen bereits, dass Apps Dienste und Rundfunkempfänger im Hintergrund sowie Aktivitäten im Vordergrund ausführen können. (Weitere Informationen hierzu finden Sie unter Was ist der Unterschied zwischen einem Dienst und einem Broadcast-Empfänger? ) Die CPU-Gesamtzahl umfasst die gesamte CPU-Nutzung. Wenn es viel mehr als CPU-Vordergrund ist, könnten Sie vermuten, dass die App viel Arbeit im Hintergrund erledigt und daher ein Batteriefresser sein könnte. Wie viel „viel“ ist, hängt von der App ab. Eine App, die ständig ausgeführt wird, um einen Remote-Dienst zu überprüfen, verbraucht im Hintergrund mehr CPU als ein Sudoku-Spiel.

Bleib wach

Wenn der Bildschirm Ihres Telefons ausgeschaltet ist, beginnt es, an ein kurzes Nickerchen zu denken. Es wechselt in einen Energiesparmodus namens Sleep, in dem die CPU fast vollständig heruntergefahren wird, bis sie benötigt wird. Da dies die Hintergrundaktivitäten von Apps unterbrechen kann, kann eine App eine Wecksperre verwenden , um zu verhindern, dass das Gerät in den Ruhezustand wechselt, bis es fertig ist. (Es gibt auch eine andere Art von Wecksperre, die verhindert, dass sich der Bildschirm automatisch ausschaltet. Ein Videoplayer kann diese Art von Wecksperre verwenden.) Eine App kann auch einen Alarm verwenden, um das Gerät aufzuwecken, um einige Hintergrundaufgaben auszuführen.

Wach halten misst die Zeitdauer, die diese App Wake Locks oder Alarme verwendet hat, um das Gerät wach zu halten, wenn es sonst im Ruhezustand gewesen wäre. In gewisser Weise ist dies möglicherweise die größte Belastung für die Batterie. Schlafen verbraucht viel weniger Strom als wach zu bleiben. Wenn also eine App für lange Zeit eine Wecksperre aufrechterhält, bleibt Ihr Gerät die ganze Zeit in einem Hochleistungsmodus, selbst wenn die App keine nützliche Arbeit leistet.

Wenn Sie eine App sehen, deren Keep-Awake - Zeit länger als ein paar Sekunden ist, sollten Sie dem App-Entwickler einen Fehler melden, und Sie könnten erwägen, sie zu deinstallieren. 30 Sekunden im Laufe eines ganzen Tages sind für eine App, die im Hintergrund arbeitet, angemessen, aber die meisten Apps zeigen hier weniger als eine Sekunde an.

Im Folgenden finden Sie die Erklärung zu den Nummern, die Sie in Frage haben.

  • CPU-Gesamt = Gesamtzeit der CPU-Nutzung Ihrer App (CPU-Gesamt = CPU-Vordergrund + CPU-Hintergrund) In Ihrem Fall hat der Chrome-Browser die CPU für eine Gesamtzeit von 29 Minuten und 31 Sekunden verwendet.

  • CPU-Vordergrund = CPU-Auslastung, während die App im Vordergrund ist (auf dem Bildschirm sichtbar und fokussiert) In Ihrem Fall hat der Chrome-Browser die CPU für eine Gesamtzeit von 14 Minuten und 43 Sekunden verwendet, als er auf dem Bildschirm sichtbar und fokussiert war

  • Wach bleiben = Die Zeit, zu der Ihre App das Gerät vom Schlafen abgehalten hat (das Telefon daran gehindert hat, den Bildschirm auszuschalten)

Darüber hinaus verfügen einige Geräte auch über das folgende Element.

  • CPU-Hintergrund = CPU-Auslastung, während die App im Hintergrund ausgeführt wird (es gibt einen Hintergrundprozess oder ein Widget usw.)

Wie Sie also sehen können, ist die tatsächliche Zeit, in der die App Ihre CPU verwendet hat, geringer als die Zeit, in der Sie die App verwendet haben.