Cuando se inicia una aplicación, el sistema operativo inicia un proceso y le asigna un identificador único, ademas le asigna una tabla de procesos. El proceso empieza una instancia de la maquina virtual Dalvik (DVM). Cada aplicación se ejecuta dentro de una DVM.
Una variable estática empieza a existir cuando una clase es cargada por la JVM, y muere cuando la clase es liberada.
Así que si creas una aplicación e inicializas una variable estática, permanecerá en la JVM hasta que uno de estos pase:
- La clase es descargada
- La JVM es cerrada
- El proceso muere
Para probar este comportamiento, se puede realizar la siguiente prueba:
- Imprimir la variable estática no inicializada en el método onCreate de la actividad→ Debería imprimir null
- Inicializar e imprimir la variable estática → Se debería 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
- Matar 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
No hay comentarios:
Publicar un comentario