He estado programando con Java para Android desde hace bastante tiempo. Como el rendimiento es muy importante para las cosas en las que estoy trabajando, termino simplemente enviando spam a las variables globales. Supongo que todos vendrán corriendo ahora y me dirán que este es el peor estilo de todos, pero vamos a hacerlo simple. Para Android, las variables locales significan que la recolección de basura y la recolección de basura es algo que mata el rendimiento.Mantener una variable global o recrear una variable local en c?
Últimamente comencé a usar el NDK. Ahora siento la necesidad de tomar todas las variables locales y cambiarlas a variables globales. Me pregunto si esto tiene algún sentido en el código c. Obviamente no es un buen estilo, pero si es necesario para la velocidad, sacrificaré el estilo con mucho gusto.
He revisado temas más antiguos sobre locales y globales, pero no he podido encontrar nada sobre la velocidad. Entonces, mi pregunta es, si estoy llamando a una función muy a menudo, ¿es relevante para la velocidad con la que se crean las variables locales y muere después de que se realiza la función? ¿O no importa para nada y puedo seguir usando las variables locales felizmente?
Lo probaría yo mismo, pero por alguna razón el rendimiento de mi aplicación sube y baja como una montaña rusa y dudo que pueda realmente dar sentido a los datos. Espero que alguien me pueda ayudar antes de reescribir todo el código por nada :)
¿Por qué crees que "variables locales significa recolección de basura"? –
Porque las variables locales son basura recolectada cuando salen del alcance. – Crashworks
Y las variables globales son a) basura recolectada cuando se establece en NULL; o b) se mantiene en la memoria, lo que aumenta innecesariamente la presión de la memoria cuando no se usa, si no se establece en NULO. –