System UI booten.
Quellcode-Analyse.
In diesem Abschnitt sehen wir uns an, wie die System-Benutzeroberfläche gebootet wird und welche Klassenmodule für das Booten der System-Benutzeroberfläche
verantwortlich sind.
Fangen wir also an.
Öffnen wir also zunächst den Emulator.
Das Lockett-Fenster, endlich.
Der Emulator ist nun in Betrieb und hier können Sie die Logcat-Protokolle sehen.
Und hier habe ich mit der System-UI gefiltert.
Dies soll Ihnen nur diese Protokolle zeigen.
Aus diesen Protokollen geht also hervor, dass der Start der Systembenutzeroberfläche vom Systemserver aus erfolgt.
Hier können Sie sehen, wie der System-Server die System-Benutzeroberfläche startet, und es dauerte 9 Millisekunden, um die System-Benutzeroberfläche
auszulösen.
Sobald dies ausgelöst wird, gelangt es also in das Paket.
Berechnen Sie also die Android- oder System-UI.
Sie können hier sehen, dass die System-UI-Anwendung zuerst erstellt wird und dass die System-UI-Anwendung
erstellt wird und dann gibt es einige Boot-Timings.
Sie können sehen, Abhängigkeit Injektion 1 Millisekunden.
Also hier im Grunde System UI verwendet Dolch zwei zu tun einige Abhängigkeit Injektion.
Hier wird das also im Grunde getan und später werden all diese verschiedenen Modelle der System-UI
initialisiert.
Also hier die letzten Modul Lautstärke, UI-Status, bar Macht UI, Klingelton-Player, Tastatur UI, etc. usw.
Schließlich wurde der Vorgang in 860 Millisekunden abgeschlossen.
Zu diesem Zeitpunkt ist die System-Benutzeroberfläche komplett fertig und wir haben all diese UI-Module.
So funktioniert es also auf einer sehr hohen Ebene.
Schauen wir uns nun den Code an und sehen wir uns an, wie er tatsächlich ausgelöst wird und welche Klassen für was im Detail
verantwortlich sind.
Schauen wir uns nun den Code an.
Wir haben Lesezeichen oder wichtige Ausführungspunkte hinzugefügt.
Wie bereits erwähnt, wird die Systembenutzeroberfläche vom Systemserver aus gestartet.
So gibt es innerhalb des Systemservers eine Funktion namens START other services.
Es handelt sich also im Grunde um eine Funktion, die eine Reihe anderer Dienste startet.
System Server ist eine der wichtigsten Klassen von Android und der System Server ist im Grunde für den Start vieler Dienste verantwortlich,
einschließlich des System UI Aktivitätsmanagementsystems, des Fensterverwaltungssystems und vieler, vieler
anderer Dienste.
System UI wird also von START und anderen Diensten gestartet und ist an diesem Punkt gestartet.
Es gibt also eine weitere Funktion namens START System UI.
Das hier ist der Weg dorthin.
Diese Funktion ist also ziemlich wichtig.
Es handelt sich dabei um ein Handle auf den internen Manager, und dann wird die Funktion get system UI service component innerhalb dieser Funktion
verwendet.
Es handelt sich also im Grunde um eine abstrakte Klasse, die im Paketmanagerdienst oder in Java definiert
ist.
Darin können Sie sehen, dass die System-UI-Servicekomponente aus meiner nächsten Sommerkonfigurationsdatei abgerufen
wird.
Es ist nichts anderes als diese eine UI-Dienstkomponente des Config-Systems.
Das ist also der hier.
Hier können Sie sehen, dass er auf den home dot android dot system UI-Dienst verweist.
Wir haben also mit dem Systemserver begonnen.
So System Server hat die START andere Dienste, die tatsächlich für den Aufruf START System UI verantwortlich
ist und wir können System UI starten schafft einen Einzug.
Hier sehen Sie also, dass eine Absicht erstellt wird, diese bestimmte Komponente aus dem Paketmanagerdienst verwendet
wird und der Dienst dann als Benutzer mit dieser Absicht gestartet wird.
Außerdem teilt er dem Windows-Manager mit, dass die System-Benutzeroberfläche durch den Aufruf dieser Funktion gestartet wurde, und informiert
so den Window-Manager-Dienst, dass die System-Benutzeroberfläche gestartet wurde.
Kurz gesagt, die START-System-UI erstellt im Grunde einen Handle zum Paketmanager, und vom Paketmanager
erhält sie die System-UI-Servicekomponente.
Diese sind nichts anderes als System UI Service-Klasse und mit diesem Spiegelstrich ruft es das System UI Service-Klasse.
Außerdem wird der Fenstermanager darüber informiert, dass die Systembenutzeroberfläche gestartet ist.
Das ist im Grunde die Funktionalität von START system UI.
Gehen wir nun zum System-UI-Dienst.
Innerhalb des System-UI-Dienstes wird der Dienst im Grunde erweitert, und es gibt einen Konstruktor.
Die erste Zeile, die Sie hier sehen können, verweist auf die System-UI-Anwendungsklasse, die diese Funktion
aufruft, was das Wichtigste ist, was wir uns ansehen müssen.
Hier werden auch einige andere Schritte durchgeführt.
Das ist das Wichtigste für uns.
Lassen Sie uns also dorthin gehen.
Und hier können Sie sehen, dass es die System-UI-Service-Komponenten und die System-UI-Service-Komponenten erhält.
Es nimmt von diesem Konfigurationskonfigurations-System die Komponenten des UI-Dienstes auf.
Gehen wir also hinein.
Sie können also sehen, dass innerhalb einer config system UI service component
alle System-UI-Komponenten definiert sind.
Im Grunde genommen gehen wir in einer Schleife durch all diese Elemente und starten sie eines nach dem anderen.
Schauen wir uns an, wie das System jedes dieser Module startet.
Ja, ja.
Das gibt uns das tatsächlich.
Ari.
Hier können Sie also sehen, dass er die Namen bekommt.
Und mit diesem Namen wird dieser Name bei Bedarf auch an den Startdienst weitergegeben.
Und innerhalb der START-Dienste, falls erforderlich, können Sie hier unten sehen, dass es eine for-Schleife
gibt, die alle diese Dienste durchläuft.
Jeder Zyklus, die Länge des Dienstes, wird also nacheinander durchlaufen und gestartet.
Hier sehen Sie, dass das Bootcamp auch "Boot completed" heißt.
Beim Booten abgeschlossen ist also nichts anderes als eine Funktion der System-UI oder Java, aber die System-UI oder
Java-Klasse wird tatsächlich von den meisten Komponenten geerbt und von den meisten dieser Komponenten erweitert.
Kurz gesagt: Das System lädt den Prozess vom Systemserver herunter und der Systemserver
ruft die START-System-UI vom System auf.
Von der START-System-Benutzeroberfläche aus wählt es die Komponente aus, erstellt einen Intent und startet den System-Benutzeroberflächendienst.
So System UI Service und innerhalb des Systems UI Service ruft es das System UI-Anwendung, es geht diese besondere Funktion
startet Service, wenn benötigt und innerhalb der Start-Service benötigt es ruft Start-Services, wenn benötigt
Funktion.
Diese lokale Funktion durchläuft all diese verschiedenen Pakete in einer Schleife und startet sie eines nach dem
anderen.
Und das ist genau das, was wir in diesen Protokollen sehen.
Das ist genau das, was wir in diesem Protokoll sehen.
Hier können Sie also sehen, dass jeder dieser Dienste nacheinander gestartet wird, und zwar in der gleichen Reihenfolge,
in der der Benachrichtigungskanal gestartet werden sollte, zuerst der Benachrichtigungskanal und dann der Schlüsselvermittler.
Der Vermittler und dann die Gründe, die Gründe Volumen, UI-Status, Bar und so weiter.
Im Toast soll die UI.