Moin!
Project Volta wurde natürlich mehr im Hintergrund umgesetzt. "Project Butter" hat ja damals jeder direkt gesehen oder gespürt, Project Svelte war zumindest Medienwirksam.
Das aktuelle Projekt besteht aus mehreren Teileingriffen, z.B. dem Energiesparmodus, ART oder der verbesserten Akkudetailansicht.
Eine wesentliche Neuerung unter der Haube ist aber die "
Job Scheduler" API, welche, wie der Name schon sagt, verschiedene Jobs besser organisiert.
Das hat einen Vorteil. Jeder Job oder jedes Event wurde bisher niemals "alleine" ausgeführt. Jede Abfrage einer App dauert nicht nur den Kurzen Moment der "Frage" ("Ist WLAN verfügbar?") sondern hat davor und danach einiges an Vor- und Nachspiel (wakelockManager ansprechen, hochtakten, WLAN Chip ansprechen, runtertakten, antworten, App reagiert, wieder hochtakten, Sync starten bei WLAN an, .... runter takten...). Ein einfaches unlocken des Displays soll laut Google etwa 2min im Anschluss für Arbeit sorgen.
Was jetzt bisher passieren konnte ist, dass exemplarisch 5 Apps nacheinander eine Aktion ausführen konnten + "Nachbearbeitungszeit", welche z.T. identisch war. (Im Beispiel hier prüft Dropbox WLAN verbindung und läd hoch - alles wieder ruhig und 30s später startet PlayMusic die selbe Anfrage und läd runter --> viele doppelte Bearbeitungsschritte)
Jetzt wird gesagt, wenn das Gerät einmal prüft ob WLAN verfügbar ist, werden gleich die anderen 5 Apps auch sofort benachrichtigt, statt in 3 Minuten nochmal.
Eine weitere Funktion ist das Prinzip vom "Timer Coalescaling" von Apple im
MacOS.
Von der Idee ist es wie die Scheduler Api, von der Funktionsweise etwas anders. Daher weiß ich nicht ob es das selbe ist, oder nur eine gewisse Ähnlichkeit hat.
Anfragen werden gebündelt beantwortet, das führt zu einer kurzen stärkeren Auslastung statt zu einer dauerhaften schwachen Auslastung. "Race to idle" könnte man sagen. Muss es aber unter 4.4 schon gegeben haben.
Greenify kennt das auch schon.
("
AlarmManager [...] batches together alarms")
Als Project Volta angekündigt wurde, war das Timer coalescaling das einzige was bei mir hängen geblieben war, weil das aus dem Englischen sehr gut rausgestochen war.
Man sieht also, es sollte was hängen bleiben beim Endnutzer. Hier wurde z.B. ein gutes Drittel mehr
Laufzeit erreicht.