Warum verlangsamt sich mein Android-Gerät nach aufeinanderfolgenden ROM-Updates, ohne zu löschen?

7

Ich habe ein 32 GB Verizon Galaxy Nexus (Toro). Ich verwende Cyanogenmod 10.1 ROM Nightlies und verwende CyanDelta Updater , um auf dem neuesten Stand zu bleiben.

Während eines Zeitraums von ungefähr 3 Wochen habe ich fast jeden Tag mit CyanDelta auf den neuesten Stand der Nacht aktualisiert. Manchmal lud ich das vollständige ROM herunter, anstatt CyanDelta zu verwenden. Während dieser Zeit habe ich das Gerät nie gelöscht (auch bekannt als Werksreset). Ich habe gerade die neue Version auf die alte angewendet.

In letzter Zeit hat sich die Leistung meines Telefons erheblich verschlechtert. Es gab lange Verzögerungen beim Entsperren, lange Verzögerungen beim Wechseln von Apps, lange Verzögerungen bei fast allem. Das Telefon würde einfrieren und das Betriebssystem würde fragen, ob ich einen Prozess beenden möchte, weil er nicht reagiert. Mein Podcatcher würde beim Spielen stottern.

Anstatt zu einem anderen ROM zu wechseln, entschied ich mich, zuerst einen vollständigen Löschvorgang durchzuführen (Werksreset). Ich habe Titanium Backup verwendet, um meine Benutzer-Apps und -Daten zu sichern. In TeamWin Recovery habe ich einen Werksreset durchgeführt, jeden Abend das gleiche CM 10.1 geflasht, meine Apps mit Titanium wiederhergestellt, mich bei Konten angemeldet usw.

Die Leistung meines Telefons wurde vollständig wiederhergestellt. Es ist wie Tag und Nacht.

Meine Frage ist: Warum hat das funktioniert? Was bedeutet es, aufeinanderfolgende ROM-Versionen anzuwenden, die zu einer Verlangsamung führen können, die durch ein Löschen behoben wird?

Ich liebe mein neues Leistungsniveau, aber ich genieße es auch, mit den neuesten Veröffentlichungen Schritt zu halten. Es scheint, ich kann meine Gummibärchen nicht haben und sie auch nicht essen. Jetzt zögere ich, Updates zu flashen, ohne sie vollständig zu löschen.

Larry Silverman
quelle
Ich habe das gleiche Problem und habe nur angenommen, dass es Fehler waren oder was nicht.
Fammy
1
Manchmal kann dies auch durch ein vollständiges Löschen des Dalvik-Cache behoben werden (dort befindet sich der vorkompilierte Code der Apps, der dann beim Booten einfach neu generiert wird). Möglicherweise wurde er zu fragmentiert.
Izzy
CyanDelta gibt vor, den Dalvik-Cache bei jedem Update automatisch zu löschen. Das ist also wahrscheinlich nicht die Lösung.
Larry Silverman

Antworten:

4

Ich habe mir selbst eine mögliche Antwort ausgedacht: TRIM

Bei Solid State Disks (SSDs) und einigen Flash-Speichern muss das Betriebssystem eine Art Verwaltungsaufgabe ausführen, um die Effizienz des Geräts aufrechtzuerhalten.

Der Betriebssystembefehl TRIM wird in diesem AnandTech-Artikel erläutert:

Die Anwendbarkeit auf bestimmte Android-Geräte, einschließlich meines Samsung Galaxy Nexus und ASUS Nexus 7, wird in den folgenden Threads der XDA-Entwickler erläutert:

Ein XDA-Mitglied hat eine App namens LagFix geschrieben, die vorgibt, die TRIM-Wartungsfunktion auszuüben und so die Schreibleistung für das Gerät wiederherzustellen.

Seit ich kürzlich einen vollständigen Werksreset durchgeführt habe, habe ich keine Leistungsprobleme mehr und kann daher die angeblichen Vorteile von LagFix nicht direkt bestätigen. Wenn ich in einer Position bin, in der die Leistung leidet, kann ich ein Benchmarking durchführen und prüfen, ob LagFix die Situation verbessert.

Bitte beachten Sie, wenn Sie LagFix ausprobieren möchten, dass es einige Geräte mit Chips gibt, die mit diesem Dienstprogramm NICHT gut funktionieren. Diese Chips haben einen sogenannten BrickBug. Wenn Sie LagFix auf einem dieser Geräte ausführen, wird Ihr Gerät unwiderruflich blockiert.

Ich empfehle Ihnen dringend, den Ratschlägen zu folgen und die LagFix-FAQ zu lesen. Es verweist auf ein Dienstprogramm, das Ihnen mitteilen kann, ob Ihr Gerät einen Chip enthält, der möglicherweise unter dem BrickBug leidet.

Larry Silverman
quelle
Ich werde meine eigene Antwort hier mit einer Einschränkung "Arbeitet für mich" akzeptieren. Seit der Einführung einer nächtlichen TRIM-Operation mit LagFix ist meine Leistung (für mich) akzeptabel geblieben. Ich habe weiterhin CM 10.1 Nightlies geflasht.
Larry Silverman
Update: Laut AnandTech bringt Android 4.3 TRIM auf alle Nexus-Geräte. Dies scheint meine Antwort oben zu unterstützen. anandtech.com/show/7185/…
Larry Silverman
1

Um Ihre Frage zu beantworten, möchte ich etwas zitieren, das Dalvik VM und Android File System heißt.

Das Android-Dateisystem hat unter Partitionen (wie bei den meisten Geräten üblich) \ system \ boot \ data \ cache

Wann immer Sie ein neues ROM flashen, werden entsprechende Dateien auf entsprechende Partitionen verschoben.

Wenn Sie ein neues ROM flashen, ohne es zu löschen, werden die Dateien in allen Partitionen überschrieben (wenn Dateien mit demselben Namen) und einige der älteren Dateien können als Trümmer verbleiben.

\ Cache \ Daten

Die beiden oben genannten Partitionen sind ROM-spezifisch. Wenn neue Apps installiert werden, werden die temporären Daten und ihr Cache erstellt und in den jeweiligen Partitionen gespeichert. Beim Löschen werden alte Daten und Cache-Elemente gelöscht.

Alle Android-Anwendungen sind auf Dex (.odex) optimiert, um in einer virtuellen Dalvik-Maschine (ähnlich wie Java VM) ausgeführt zu werden. Diese Gegenstände müssen gelöscht werden, wenn Sie zu verschiedenen Roms wechseln.

Einige Informationen zu dalvik - http://en.wikipedia.org/wiki/Dalvik_%28software%29

Cyborgz
quelle
Wie oben erwähnt, löscht die von mir verwendete Aktualisierungsmethode automatisch den Dalvik-Cache.
Larry Silverman
1

TL; DR - Wiederherstellung der Leistung meines 2012 ASUS Nexus 7 16 GB durch Löschen mehrerer GB nicht benötigter Dateien.

Ich habe kürzlich ein Leistungsproblem auf meinem ASUS Nexus 7 (16 GB, erste Generation) mit einer nicht verwandten Lösung für die oben beschriebene LagFix / TRIM-Lösung gelöst. Obwohl LagFix das Problem auf meinem Verizon Galaxy Nexus gelöst zu haben scheint (die Leistung ist bis heute hervorragend), habe ich auf meinem ASUS Nexus 7 weiterhin eine wirklich schreckliche und inakzeptable Leistung erlebt.

Meine Forschung ergab viele Berichte, dass die Leistung erheblich abnimmt, wenn der Nexus 7-Speicher "zu voll" wird. Mein Gerät hatte 3 GB freien Speicher, daher war ich skeptisch, dass mein Nexus 7 "zu voll" war.

Ich habe das hervorragende Dienstprogramm DiskUsage verwendet , um den Inhalt meines 16-GB-Flash-Speichers zu überprüfen , um festzustellen , ob ich Speicherplatz freigeben kann. Ich entdeckte eine Filmdatei, die ich längst gesehen und vergessen hatte, mehrere GB Speicherplatz zu verbrauchen.

Ich habe die Filmdatei gelöscht, eine Reihe alter Nandroid- und Titanium-Backups, die ich nicht mehr benötigte, und ein paar GB Podcasts gelöscht, die ich nicht brauchte. Dadurch wurden mehrere GB auf dem Gerät frei.

Die Leistung meines Nexus 7 ist jetzt hervorragend. Es fühlt sich wie neu an.

Larry Silverman
quelle
Wurde Ihre Leistung sofort verbessert? Ich habe gerade Apps und Dateien gelöscht, um von ungefähr 1,7 GB frei auf 6,7 GB frei zu kommen. Ich habe das Gefühl, dass Teile des Systems etwas schneller sind, aber im Großen und Ganzen sind viele Dinge immer noch genauso schmutzig wie zuvor.
Sam
Es ist mehr als ein Jahr her, seit ich das oben Genannte geschrieben habe, und ich fürchte, ich kann mich nicht erinnern, ob sich die Leistung "sofort" verbessert hat, sorry. Darüber hinaus wurden in neueren Android-Versionen viele Verbesserungen vorgenommen. 5.0 Lollipop ist jetzt erhältlich und sollte für das ASUS Nexus 7 2012 verfügbar sein. Ich
Larry Silverman
0

Ich habe versucht, den Dalvik-Cache zu löschen, aber es hat nicht funktioniert. Dann habe ich versucht, alle Daten zu löschen und CyanogenMod 11 neu zu installieren, aber es hat auch nicht funktioniert. Dann habe ich eine Lösung gefunden, mit der wir mithilfe von CPU MASTER (im Play Store erhältlich) die Frequenz unserer CPU für eine dauerhafte Zeit auf Maximum einstellen können, und Bloom, das Ergebnis war unglaublich. Ich werde es allen vorziehen. Aber es braucht Wurzel also .....

Onkar Kasture
quelle
Hallo Onkar und willkommen bei Android Enthusiasts! :) Obwohl Ihre Antwort sinnvoll ist, geht sie nicht auf das Kernproblem der Frage ein. Das Einstellen der CPU-Frequenzen führt höchstwahrscheinlich immer zu einer besseren Leistung, dies ist hier jedoch nicht erwünscht. Beobachten Sie auch Ihre Akkulaufzeit von jetzt an :)
Benjamin