Question

Je suis curieux de savoir si quelqu'un a une expérience comparant les performances de temps de chargement des applications iPhone avec des vues exposées dans BNR par rapport à des vues disposées entièrement par programme (c.-à-instanciation UITextView, en ajoutant à la vue, l'instanciation UIButton, ajoutant à la vue ...).

Si je veux une application simple à charger la foudre rapide, serait-il préférable de renoncer à l'aide d'un NIB (bien, techniquement XIB) et au lieu de créer des éléments d'affichage par programme? Est-ce le temps passé le chargement et l'analyse d'un NIB suffisant pour faire une différence notable?

Était-ce utile?

La solution

J'ai remarqué que le chargement des interfaces complexes sur l'iPhone avec BNR est légèrement plus lent. Il est seulement une fraction de seconde, mais il est visible si l'utilisateur attend de voir une feuille ou une vue modale. Je pense que la différence est que BNR sont chargés sur l'paresseusement iPhone, la vue est effectivement créé la première fois la vue est affichée - pas lorsque le contrôleur et la hiérarchie de vue sont d'abord créés. Cela dit, il importe sans doute que sur l'iPhone: -)

En général, je dirais que sont BNR toujours valeur des inconvénients de performance qui pourraient exister. J'ai écrit iPhone apps en arrière quand le SDK premier est sorti et Interface Builder n'a pas été bien testé. l'écriture de code pour créer des hiérarchies de vue était un terrible gâchis ...

Autres conseils

Dans mon expérience, il ne fait aucune différence notable que ce soit.

Et si vous pensez à ce qui se passe avec le système NIB, il est une représentation binaire compacte de l'état des objets de l'interface utilisateur. En créant l'objet programme, vous enregistrez seulement la quantité de temps qu'il faut pour charger ce fichier et faire une analyse syntaxique très basique. Comparez cela à la quantité de temps qu'il faut pour initialiser et faire le premier tirage de ces objets (allocation de mémoire pour les objets sous-jacents CALayer, les tirant à l'aide Quartz2D et compositing ensuite les résultats ensemble). Ce temps est beaucoup plus grande et il est exactement la même si vous utilisez un NIB ou non. Si vous chargez un tas de fichiers PNG pour dessiner votre interface utilisateur, bien que éclipsera le temps consacré à la création des contrôles.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top