En travaillant sur un projet de jeu pour Android, je cherchais des informations sur l' optimisation des performances du code de jeu. Et j'ai appris que l'utilisation de collections Java comme List, Arraylist, etc. n'est pas encouragée dans les codes de jeu, bien que la collecte soit un outil utile dans la programmation Java. J'aimerais connaître les détails techniques sur l'impact du framework Collection sur les systèmes Android et pourquoi? Toute aide à cet égard sera formidable.
10
Réponses:
Il s'agit principalement d'allocation de mémoire et de récupération de place. Les allocations de mémoire pendant l'exécution permettent à votre garbage collector de faire ressortir la corbeille. Ce qui nuit à vos performances. GC devrait se produire aussi rarement que possible.
La plupart des collections Java:
A) Allouez plus de mémoire que nécessaire.
B) Allouez de la mémoire lorsque vous ne le souhaitez pas.
C) Allouez de la mémoire à chaque itérateur lors de l'itération dans une collection.
Pour contourner ces choses:
A) Attribuez des collections de tailles fixes. c'est à dire. créer des pools d'objets.
B) Allouez ces pools au démarrage du programme.
C) Évitez le for (Object obj: collection) pour les types de collection qui ont une méthode size () et .get (int index).
la source