2017-06-01 4 views
0

In der description der Bibliothek können Sie lesen, dass es Code-Generierung verwendet. Ein bisschen weiter können Sie dies lesen:Verwendet die Parceler-Bibliothek Reflektion?

Achten Sie darauf, keine privaten Felder zu verwenden, wenn Sie die Standard-Feldserialisierungsstrategie verwenden, da dies zu einer Leistungseinbuße aufgrund von Reflektion führen wird.

Jetzt verwirrt mich das! Verwendet es Reflexion oder Code-Generierung. Und wenn es Reflektion verwendet, sehe ich nicht den Sinn einer solchen Bibliothek, da der ganze Punkt von Parcelables darin besteht, Serialisables zu vermeiden, die Reflektion verwenden?

Antwort

1

Parceler generiert Parcelable Wrapper für Sie Code, mit dem Sie das Schreiben des Boilerplate vermeiden können. Ein Vorteil davon ist die hohe Leistungsfähigkeit von statisch kompiliertem Code. Unter bestimmten Umständen, wie beim Zugriff auf private Felder, Methoden oder Konstruktoren, muss Parceler auf die Verwendung der Reflektion zurückgreifen, die, wie in der Referenz erwähnt, eine Warnung auslöst.

Kurz gesagt, nutzt Parceler weitgehend die Codegenerierung, um das Schreiben von Parcelable-Textbausteinen zu verarbeiten, wird aber in einigen Fällen auf die Reflexion zurückgreifen.

Verwandte Themen