Cuando se inicia una aplicación en Android, el SO inicia un proceso y le asigna una identificación única, además de asignarla a una tabla de procesos.
El proceso empieza una instancia de la Máquina Virtual Dalvik (DVM), ya que cada aplicación se ejecuta dentro de una DVM.
Una variable estática empieza a existir cuando una clase es cargada por la máquina virtual, y deja de existir cuando es liberada. Así que si creas una aplicación e inicias una variable estática, será liberada hasta que pase una de las siguientes opciones:
- La clase es descargada
- La Máquina Virtual es cerrada
- El proceso muere
Hay que tomar en cuenta que el valor de la variable estática persiste cuando se cambia a una actividad diferente, incluso de otra aplicación y nada de lo antes mencionado sucede.
Para probar este comportamiento, se puede realizar la siguiente prueba:
- Imprimir la variable estática no iniciada en el método onCreate de la actividad. Deberá imprimir "null".
- Iniciar e imprimir la variable estática. Se deberá imprimir un valor no nulo.
- Presionar el botón atrás hasta llegar a la pantalla Home (es decir, otra actividad).
- Ejecutar nuevamente la actividad. La variable estática será no nula.
- Finalizar el proceso desde DDMS usando el botón Stop en la ventana de dispositivos.
- Reiniciar la actividad. La variable estática tendrá un valor nulo.
Cuéntanos en un comentario, ¿qué más nos puedes decir de los Objetos Estáticos en Android?
No hay comentarios:
Publicar un comentario