Mientras trabajaba en un proyecto de juego para Android, estaba buscando información sobre la optimización del rendimiento del código del juego. Y llegué a saber que el uso de colecciones de Java como List, Arraylist, etc. no se recomienda en los códigos de juego, aunque la colección es una herramienta útil en la programación de Java. ¿Por qué es así? Me gustaría conocer los detalles técnicos, ¿cuánto impacto puede tener el framework Collection en los sistemas Android y por qué? Cualquier ayuda a este respecto será genial.
10
Respuestas:
Se trata principalmente de asignación de memoria y recolección de basura. Las asignaciones de memoria durante el tiempo de ejecución le dan a su recolector de basura la oportunidad de sacar la basura. Lo que perjudica tu rendimiento. GC debe ocurrir tan raramente como sea posible.
La mayoría de las colecciones de Java:
A) Asignar más memoria de la que necesitan.
B) Asigne memoria cuando no quiera que lo hagan.
C) Asignar memoria para cada iterador al iterar a través de una colección.
Para eludir estas cosas:
A) Asignar colecciones con tamaños fijos. es decir. crear agrupaciones de objetos.
B) Asigne estos grupos al inicio del programa.
C) Evite el for (Object obj: collection) para aquellos tipos de colección que tienen un método size () y .get (int index).
fuente