Question

Je suis en train d'accélérer mon IUG que les charges très lent lent quand je suis le chargement d'un grand projet (l'IUG est une représentation des groupes et des sous-groupes et se compose de plusieurs points de vue). Au cours de ce processus, je cherchais à combien de temps certains segments de code prennent pour exécuter et j'ai trouvé qu'un appel à addSubview prend entre 10 et 20 millisecondes la plupart du temps. Le sous-vue, je regardais un bouton d'information. Je me demande si cette méthode est juste par nature lente ou est un autre facteur leur lieu de travail ici? Est-ce le temps qu'il faut pour ajouter la sous-vue en fonction de la complexité du sous-vue ou est-ce pas un facteur? Aussi, est-il une autre méthode qui peut être utilisé pour ajouter un sous-vue qui pourrait être plus rapide?

Était-ce utile?

La solution

Vous pouvez essayer -setSubviews: qui prend un tableau de sous-vues. Cela peut être plus rapide, puis appeler -addSubview:. Plusieurs fois vous

Sinon, -addSubview: et -addSubview: positionnée: relativeTo:. Sont les seuls autres méthodes pour insérer des sous-vues

Je suis curieux, cependant, pourquoi est 10 - 20 ms à ralentir pour un seul sous-vue? Combien de subviews vous essayez d'ajouter?

Il est possible qu'il y ait une conception alternative à l'aide de NSCell qui peut être plus rapide, mais sans connaître plus de détails sur ce que vous essayez d'accomplir, il est difficile de savoir.

Autres conseils

Réorganiser la hiérarchie de vue n'est pas quelque chose que vous ne sont généralement pas très souvent. Au lieu d'ajouter et de supprimer des sous-vues, vous pouvez cacher et de les démasquer.

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