Frage

Ich bin neugierig, ob jemand Erfahrung Vergleich der Ladezeit Leistung des iPhone mit Blick in NIBs angelegt apps hat vs. Ansichten völlig programmatisch angelegt (dh UITextView instanziiert wird, um es zu der Ansicht hinzufügen, Instanziieren UIButton, es Hinzufügen zu der Ansicht, ...).

Wenn ich eine einfache Anwendung laden möge Blitz schnell, wäre es besser, eine NIB zu verzichten mit (na ja, XIB technisch) und stattdessen Ansicht Elemente programmatisch erstellen? Ist die Zeit damit verbracht Laden und Parsen einer NIB ausreichend genug, um einen spürbaren Unterschied machen?

War es hilfreich?

Lösung

Ich habe bemerkt, dass mit NIBs auf dem iPhone komplexe Schnittstellen geladen ist leicht langsamer. Es ist nur von einem Bruchteil einer Sekunde, aber es ist spürbar, wenn der Benutzer ein Blatt oder eine modale Ansicht zu sehen erwartet. Ich denke, der Unterschied ist, dass NIBs träge auf dem iPhone geladen werden, so dass die Sicht tatsächlich das erste Mal erstellt wird die Ansicht gezeigt wird - nicht, wenn der Controller und die Ansicht Hierarchie werden zuerst erstellt. Das heißt, es wahrscheinlich nur Dinge auf dem iPhone: -)

Generell würde ich sagen, NIBs sind immer wert keine Leistungsnachteile, die bestehen könnten. Ich schrieb iPhone apps zurück, wenn das SDK zum ersten Mal aus und Interface Builder war nicht gut getestet. Das Schreiben von Code Ansicht Hierarchien war eine schreckliche Chaos zu schaffen ...

Andere Tipps

Nach meiner Erfahrung es überhaupt keinen merklichen Unterschied macht.

Und wenn Sie darüber nachdenken, was mit dem NIB System vor sich geht, ist es eine kompakte binäre Darstellung des Zustandes der User-Interface-Objekte. Durch das Erstellen programmatisch das Objekt, speichern Sie nur die Menge der Zeit es braucht, um diese Datei zu laden und einige sehr grundlegende Parsing zu tun. Vergleichen, die auf die Menge an Zeit, die das erste Ziehen jenes Objekts zu initialisieren und tun (Speicher für die zugrunde liegenden Objekte CALayer Zuteilen, zeichnet sie Quartz2D und anschließend Zusammensetzen die Ergebnisse zusammen). Diese Zeit ist viel größer und es ist genau das gleiche, ob Sie eine NIB verwenden oder nicht. Wenn Sie eine Reihe von PNG-Dateien laden Sie Ihre Benutzeroberfläche zu zeichnen, wird Zwerg gut, dass die Zeit damit verbracht auf die Kontrollen zu schaffen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top