Je suis en train de développer une application qui m'oblige à afficher de nombreuses chaînes de texte dans des cellules de tableau. Actuellement, j'utilise une cellule de vue de table par défaut avec environ 14 UILabels ajoutés. La moitié de ces étiquettes contient du texte statique qui ne sera pas modifié, tandis que l'autre moitié contient des données dynamiques qui doivent être mises à jour lorsque la table est défilée. Comme mes clients se plaignent que la table est à la traîne, je me demande s'il existe une façon plus optimisée d'afficher les données et d'améliorer les performances de défilement. Par exemple, les cellules du tableau seraient-elles plus rapides lorsque la table défilerait si le texte fixe était rendu directement sur la vue, au lieu d'être contenu dans UILabels? Quelles autres méthodes puis-je utiliser pour améliorer les performances de défilement?La méthode la plus rapide pour rendre une cellule de vue de table?
Répondre
Les problèmes de performance dans le défilement de la vue tabulaire peuvent être causés par un certain nombre de problèmes. Par exemple:
- Assurez-vous que les
UILabel
s sont opaques pour éviter le mélange. (Vous pouvez sélectionner l'option de couches de couleurs mélangées dans l'instrument Core Animation pour vérifier cela). - Assurez-vous du recyclage des piles de vue de la table à l'aide
dequeueReusableCellWithIdentifier:
Il pourrait être utile si vous pouvez publier votre mise en œuvre de tableView:cellForRowAtIndexPath:
Oui, j'ai des UILabels transparents. Est-ce que le fait de changer les UILabels en opaque améliorera beaucoup les performances? (Et oui, je réutilise déjà uitableviewcells déjà.) – futureelite7
en plus à la réponse de anshuchimala je vous recommande d'enlever les étiquettes statiques et l'intégrer dans un UIImageVie que vous utilisez dans votre tableviewcell en tant qu'image de fond. En dehors de cette opacité (comme mentionné par anshuchimala) est une grande performance bloquant, mais aussi l'utilisation extensive de NSDateFormatter
instances peuvent considérablement diminuer vos performances (en particulier les instantion des cas NSDateFormatter besoin de beaucoup de puissance)
Salut, malheureusement, j'ai besoin de localiser les chaînes, ce qui signifie que je ne peux pas simplement les inclure dans des images statiques. En outre, les images de chaque cellule ne prendront-elles pas plus de place? – futureelite7
Les images seront mises en cache, iOS ne conserverait qu'une seule instance de l'image en mémoire (pour autant que je sache: D). vous pourriez cependant faire des versions localisées de votre image de fond. – samsam
- 1. La méthode tr: hover la plus rapide
- 2. Comment rendre la matrice plus rapide?
- 3. La méthode la plus rapide pour gérer la compression UIImagePickerController
- 4. Comment optimiser la table mysql pour une exécution plus rapide
- 5. vue de la carte à l'intérieur de la cellule vue de la table
- 6. Existe-t-il une autre option pour configurer la hauteur d'une cellule de vue de table?
- 7. Vue de table rapide, en deux dimensions
- 8. Méthode la plus rapide pour calculer la convolution
- 9. Sérialisation de la liste Python - méthode la plus rapide
- 10. Quelle méthode DataContext sera la plus rapide?
- 11. Problème de chevauchement sur la cellule de vue de table
- 12. Rendre la fonction de recherche Javascript rapide
- 13. Arrière-plan transparent pour la cellule de table de groupe
- 14. Rendre la table MySQL unique
- 15. Une méthode plus rapide pour effectuer des contrôles sur les arguments de la méthode
- 16. Méthode la plus rapide pour calculer le résumé du champ de la base de données
- 17. Problème de déqueue de cellule lorsque la table se trouve dans la vue de contenu de cellule d'une autre table
- 18. Comment insérer une vue dans une cellule de table existante?
- 19. Suppression d'une cellule personnalisée dans la vue de table
- 20. Quelle est la manière la plus rapide/la plus simple de dénormaliser cette table hiérarchique en une table plate?
- 21. Méthode la plus rapide pour convertir un itérateur en liste
- 22. Avertissement dans la vue de table
- 23. Modifier la cellule de vue de la table lors de la sélection?
- 24. Comment rendre le processus plus rapide?
- 25. Comment rendre ma cellule de table UITextField modifiable lorsque la table est entrée en mode 'edit'?
- 26. Comment rendre la vue plus simple, le contrôleur plus utile?
- 27. Rendre une cellule dans un JTable modifiable - la valeur par défaut de la cellule
- 28. Méthode la plus rapide de lecture et d'écriture binaire
- 29. Quelle est la méthode la plus rapide/la meilleure pour localiser une application .Net Compact Framework?
- 30. La méthode de copie la plus rapide/la plus efficace entre S3 et EC2?
Comment exactement sont le texte des cellules dynamiques est-il récupéré? Envoyez-vous une demande distincte pour chaque cellule ou envoyez-vous simplement une requête qui renvoie 100 lignes de données que vous formatez ensuite? – domino
J'envoie une requête, qui récupère environ 20-50 entrées au format xml. J'affecte ensuite les valeurs à la cellule dans cellForRowAtIndexPath avec les entrées. – futureelite7