Akkuverbrauch - Deinstallation - Verschlüsselung

Das hatte ich dann wohl irgendwie übersehen, oder falsch interpretiert… Ich dachte, dass die v1.14.1 bereits offiziell über den PlayStore aktualisiert worden wäre. Aber dort sehe ich tatsächlich noch die 1.12.5.

Habe jedenfalls gerade die 1.14.3 über die Homepage installiert. Schaumermal…

Delta-Chat 1.14.3 seit der Installation gestern: Angezeigter Akkuverbrauch 1%.
Gut - hab es auch nicht oft benutzt - aber bei Erstellung dieses Themas gab es mit der alten Version ja auch den hohe Akkuverbrauch, ohne dass ich DC ÜBERHAUPT benutzt hatte…
Soweit also erstmal alles im grünen Bereich. :+1:,

1 Like

@Miaz, warum ich noch mit der 1.2.x arbeite? Ganz einfach:
ich hab ein sehr altes Handy (Android 4.1) und brauchte dafür einfach ein paar Features (und manchmal auch Fixes) die einfach nicht implementiert wurden. Dann hab ich das Heft mit Hilfe von einigen Kollegen hier einfach selbst in die Hand genommen.
Die Änderungen waren für mich sehr aufwendig und haben gedauert. Damals war die 1.2 halt die aktuelle Version auf der ich aufgebaut habe.

Du kannst ja mal hier csb0730 (Christian Schneider) · GitHub in den Changelogs schauen :slight_smile:

Und, das mit dem Akkuverbrauch war, ich will nicht sagen immer, aber vorher auch ein Thema. Die Herangehensweise wie es in der offiziellen Version gemacht wurde (ohne auf den Netzwerkstatus zu schauen) hat mir noch nie wirklich gefallen. Auch aus Interesse ob das nicht besser geht, hab ich hier selbst Hand angelegt. Und mit Erfolg :slight_smile:

2 Likes

Im core repo bitte den branch lesser-battery-drain nehmen. Hier sind die aktuellsten Änderungen drin (nicht master).

Diese Version habe ich nun schon länger unverändert im Test. Sie ist unter allen Umständen sehr zuverlässig und sehr energieschonend: DC erscheint gar nicht in der Akkuliste wenn ich nicht wenigstens etwas damit arbeite - so soll es sein!.
Und: Sendewiederholungen bei schlechten Netzwerkbedingungen sind zuverlässiger als beim Original (würde ich behaupten :slight_smile: )

Moin,
also auch ohne irgendwelche Sondereinstellungen liegt der Akkuverbrauch von DC bei mir im normalen Bereich von z.Zt. 1%.
Alles OK.

Wie sieht es mit der aktuellsten (offiziellen) Version im Vergleich zu Deiner aus, treffen diese Unterschiede Deiner Meinung nach noch zu? Würde mich sehr interessieren.

@gerryfrancis: Mit “Deiner” meinst Du sicherlich die Version von @csb0730.
Ich habe momentan die offizielle 1.14.4 - und wie beschreiben keine Probleme mehr mit dem Akkuverbrauch…

Richtig, die Frage ist an ihn adressiert.

Hallo,
das ist jetzt natürlich schwer zu sagen, da ich die aktuelle Version nie laufen hatte. Ich bin da auch etwas vorsichtig, da die aktuelle Version eine neuere Datenbankversion verwendet und ich weis nicht wie das ausgeht wenn ich die jetzt einfach darüber installiere! Ich muß in jedem Fall zurück kommen können, da ich nur mein Handy zum Testen habe!
Backup und Restore aber geht mit der aktuellen offiziellen Version bei mir aus Speichergründen sowieso schon lange nicht mehr :-/ Ein weiteres kritisches Thema!!

Ich schau mir aber mal die aktuelle Herangehensweise der 1.14 in Bezug auf Mailabruf und Jobverarbeitung an. Ich kenne ja die Stellen wo ich eingegriffen habe. Vielleicht kann ich dann mehr sagen.

Ich wollte ja mal meine Herangehensweise im Detail auf git beschreiben. Bin aber mangels Zeit noch nicht dazu gekommen :-/

Keine Ursache, hat mich nur interessiert. Ich schätze, dass die Umstellung auf async ebenso positive Auswirkungen auf den Akkuverbrauch hat, da die App nun viel performanter arbeitet.

Na … das kann sein. Allerdings lag bei mir der Focus auf der Vermeidung von unnötigen Netzwerkaktivitäten und auch unnötigem Aufwecken der App durch die nicht syncronisierten Timeouts von der core-Seite (IMAP) und der Android-Seite. Das war gerade ein Thema wenn eigentlich “nichts” zu tun war und dann gleichzeitig noch das Netz schlecht war.
Ob das durch die asyncrone Arbeitsweise des core besser wird? Im Moment noch Spekulation.

Wenn der Weihnachtsstreß rum ist werde ich die Sache mal dokumentieren. Ich habe allerdings in den Originalquellen die relevanten Stellen mal untersucht.
Prinzipiell ist die Herangehensweise für’s Job und Verbindungshandling noch unverändert und unterscheidet sich von meiner Version.
Diese Herangehensweise hat nichts mit dem switch zur asynchronen Verarbeitung des Core zu tun.
Das die Oberfläche durch das “Asynchrone” performanter erscheint leuchtet mir ein, da hier ja gewisse Abhängigkeiten bestehen. Allerdings was im Core zwischen Core und Mailserver passiert ist davon eigentlich unabhängig (nicht alles).
Vor allem, da meine Optimierungen ja hauptsächlich nicht mit der Oberfläche zu tun haben.

Ich bin jetzt fast fertig mit der Dokumentation. Ich denke in den nächsten Tagen werde ich es veröffentlichen.

Noch ein kleiner Nachtrag: Ich habe oben noch was vom “Flugzeugmodus” gelesen. Nun, bei meiner Version wird in diesem Zustand jegliche Jobverarbeitung vollständig gestoppt.
Man sieht das dann auch am Akkuverbrauch. Die Kurve geht dann in die Waagerechte über :slight_smile:

Erweiterung vom 08.02.21:

Hier ist die Doku und die Hintergründe meiner neuen Herangehensweise:

Bin auf die Kommentare gespannt.

Bis auf die asyncrone Codeverarbeitung hat die aktuelle Version immer noch die gleiche Herangehensweise wie die alte 1.2.1 in Bezug auf das Verbindungshandling und das Jobhandling.
Das ist jedenfalls meine Erkenntnis aus der Untersuchung des aktuellen Codes!

1 Like