Bei der Überprüfung meiner laufenden Aufgaben ist mir ein Speicherverlust in Bearbeitung aufgefallen system/bin/installd
. Nach Abschluss des Bootvorgangs beginnt es im Hintergrund zu laufen und verbraucht 20-30 MB RAM. Im Laufe der Zeit steigt die RAM-Nutzung allmählich an und erreicht bis zu 400 MB, was zu einem zufälligen Neustart führt.
Ich bin in der Lage, diesen Prozess ohne merkliche Auswirkungen zu beenden. Es startet sich jedoch selbst neu und führt weiterhin Speicherverluste durch.
Bevor ich versuchen kann, dieses Problem zu beheben, muss ich genau wissen, was es system/bin/installd
ist/was es tut – etwas, worüber ich anscheinend keine Informationen finden kann.
Kann jemand helfen?
Spezifikationen:
/system/bin/installd
ist ein Systemdämon, der an der Installation von Anwendungen beteiligt ist. Systemklassen PackageInstaller
verwenden es gerne bei ihrer Ausführung.
Dieser Artikel von DZone stammt aus dem Jahr 2013, gibt aber einige Hinweise, die auf den Weg gebracht werden können:
PackageInstaller ist die Standardanwendung für Android, um ein normales Paket interaktiv zu installieren. PackageInstaller bietet eine Benutzeroberfläche zum Verwalten von Anwendungen/Paketen. PackageInstaller ruft die InstallAppProgress-Aktivität auf, um Anweisungen vom Benutzer zu erhalten. InstallAppProgress fordert den Package Manager Service auf, das Paket über installd zu installieren. Der Quellcode ist unter /packages/apps/PackageInstaller verfügbar.
Der heutige Android-Code besagt (zum Beispiel: services/core/java/com/android/server/pm/Installer.java
):
public void onStart() {
Slog.i(TAG, "Waiting for installd to be ready.");
mInstaller.waitForConnection();
}
Dieselbe Datei kommentiert beim Auschecken frameworks/native/cmds/installd/installd.h
(ich habe vorerst nicht weiter gesucht).
Kurz gesagt, Sie müssen sich möglicherweise den Quellcode ansehen, um mehr über zu erfahren installd
, je nachdem, was Sie vorhaben.
Andreas T.
Tee-Wracks