Warum nehmen „Google-Dienste“ im Laufe der Zeit immer mehr RAM in Anspruch und bringen neue Dienste hervor?

Ich habe einen gerooteten OG Droid, auf dem ich häufig benutzerdefinierte ROMs installiere. Ich habe in allen Builds von Froyo und Gingerbread festgestellt, dass ich versucht habe, im Laufe der Zeit bestimmte Dienste mehr RAM zu beanspruchen und neue Prozesse hervorzubringen.

Insbesondere ist mir aufgefallen, dass Google Services dies konsequent tut. Anfänglich benötigt es vielleicht 7 MB RAM und hat nur 1 Prozess (com.google.process.gapps). Aber nach gut 10+ Stunden werden Android Core Apps (android.process.acore) und Calendar Storage (com.android.providers.calendar) erscheinen. Derzeit liegt es bei 21 MB Nutzung.

Dieser Speicher wird nie zurückgefordert und das Telefon wird hängen bleiben, da der interne Android-Task-Killer Aufgaben häufiger beenden muss. Irgendwann muss ich neu starten.

Warum passiert das und kann ich es beheben?

Gute Frage. Ich habe ein langsames Kriechen der Speichernutzung bemerkt, aber es war kein Problem bei meinem Vibrant.
Ja, es ist ein großes Problem auf dem OG Droid, das nur 256 MB RAM hat

Antworten (1)

Die zusätzlichen Prozesse werden bei Bedarf erstellt (z. B. wenn Sie den Kalender öffnen). Der zunehmende Speicherverbrauch ergibt sich aus der Tatsache, dass Java nicht in der Lage ist, Speicher an das System zurückzugeben (zu stapeln). Aus diesem Grund hat Google den ActivityManager implementiert, der von Zeit zu Zeit den gesamten Prozess beendet, um ihn später mit geringerem Speicherbedarf neu zu starten. Genau das versucht die Task-Killer-App zu tun, was ziemlich überflüssig ist.

Der ActivityManager macht seine Arbeit ziemlich gut auf meinem Galaxy S mit nur 329 MB RAM, die dem System zur Verfügung stehen. Ich habe nie einen Taskkiller gebraucht. Dies ist jedoch nur eine Problemumgehung für Geräte mit eingeschränkten Ressourcen wie Smartphones. Aktuelle High-End-Android-Geräte haben bis zu 1 GB Speicher oder mehr, sodass der ActivityManager immer mehr arbeitslos wird.

Ja, aber das Problem ist, dass der Android-Task-Killer die ständig wachsenden Prozesse wie com.google.process.gapps und com.android.providers.calendar nicht tötet
@SAGExSDX Woher wissen Sie, dass der Android-Task-Killer diese Prozesse nicht beendet? Ist es nicht möglich, dass sie die Ressourcen von Anfang an benötigen? Aber es besteht natürlich die Möglichkeit, dass sie vom System auf die Whitelist gesetzt werden und dann gibt es sicher einen guten Grund, warum dies so gemacht wird.