Ich bin ein neuer Android-Entwickler. Ich habe versucht, den Gebrauch des Layout-Inflators aus der Dokumentation zu verstehen, konnte aber nicht verstehen. Was ist der Einsatz von Layout Inflator in Android?
In welchen Situationen müsste man es benutzen?
Siehe dies
Stellen Sie sich Ihre XML-Flatfiles grundsätzlich als Luftballon ohne Luft vor, und was der LayoutInflator macht, sprengt (oder bläst) in einen Ballon in voller Größe auf, zB in Ihre Views und View-Gruppen. So wird flache Datei in Sicht aufgeblasen. (Fühlen Sie sich frei, die Metapher zu kritisieren, aber so stelle ich es mir trotzdem vor) und was die Verwendung betrifft, überprüfen Sie dieser Artikel heraus. Der Autor spricht über das manuelle Aufblasen von Objekten.
Intern sucht ein XML-Parser, der einer zwischengespeicherten Teilmenge von Android.Resource zugeordnet ist, nach anwendbarer XML-Datei, die als Ansicht erkannt wird, instanziiert sie und fügt sie der Ansichtsgruppe hinzu.
Von diesem intern rInflate
in LayoutInflator analysiert die XML-Datei und fügt das Ergebnis zur übergeordneten Ansicht hinzu. Suchen Sie nach der Überladung mit der spezifischen Signatur
In den Kommentaren von LayoutInflater
Für die Leistung
* Gründe, sehen Inflation in hohem Maße auf die Vorverarbeitung von XML-Dateien
* Das ist zur Erstellungszeit erledigt. Daher ist es derzeit nicht möglich
* Verwenden Sie LayoutInflater mit einem XmlPullParser über eine einfache XML-Datei zur Laufzeit.
Damit können wir schlussfolgern, dass die XML-Datei aus der Datei zur Kompilierungszeit zwischengespeichert wird, um den Verarbeitungsaufwand für die Analyse der Datei zu verringern.
XmlResourceParser loadXmlResourceParser(String file, int id, int assetCookie, String type)
in der Datei
Resources.java . Ich hoffe, das klärt die Dinge ein bisschen mehr auf.
We can clearly see from the above figure,
What are these complex actions ?
instantiation
existiert.
ist hier gemacht. Inflator service
wird die Objekt-Erstellung erledigt & amp; Dieser Prozess heißt layout Inflation
Tags und Links android android-layout android-inflate