¿Cuál es el ciclo de vida de una variable estática compartida entre las actividades?

Jack :

Tengo un BaseActivity y múltiples actividades que se amplía.

El BaseActivity tiene una variable estática, lo que hace que sea compartida entre descendientes Actividades (todos ellos comparten la misma instancia de la misma).

La variable estática se inicializa SOLAMENTE por MainActivity (que se extiende BaseActivity ).

El MainActivity registra explícitamente un BroadcastReceiver .

El BroadcastReceiver cambia los valores de la variable estática.

Quiero para asegurarse de si el sistema mató MainActivity (por poca memoria, por ejemplo), la variable estática se restablecerá y establece en NULL.

Como ya he dicho, MainActivity comparte la estática var con otras actividades , y posee únicamente la BroadcastReceiver y es uno de los inicializa el VAR estático.

Sin la BroadcastReceiver los datos variables estáticas no serán fiables.

Ahora usted tiene todo el escenario. get Vamos a las preguntas:

¿Cuál es el ciclo de vida de la variable estática compartida en este caso?

¿El androide (en caso de baja memoria) destruye las actividades individuales o se destruya mi aplicación (actividades enteros) enteros?

  • Si se destruye por completo mi aplicación y restablecer la var estática que sería aceptable, mis preocupaciones que destruirían MainActivity solo y anular el registro de la BroadcastReceiver , sin embargo, mantiene la potencia reactiva (que pasará a ser poco fiables).

Si Android podría destruir MainActivity solo y mantener el var estática, ¿cómo puedo recibir notificaciones o estar al tanto de que la próxima vez MainActivity aperturas para que pueda volver a cargar los valores dentro de la var estática?

Por lo siento, no puedo confiar en onDestroy()dentro MainActivity para ajustar la potencia reactiva a nula, ya que sabe que no está garantizado que ser llamado en caso de Android destruyó la actividad en la memoria baja.

bueno:

Quiero para asegurarse de si el Sistema mató MainActivity (Para la memoria baja, por ejemplo), la variable estática se restablecerá y establece en NULL. ¿Cuál es el ciclo de vida de la variable estática compartida en este caso?

La variable estática se restablecerá a nullsólo cuando todas las otras actividades que se extienden BaseActivityserán matados (causa que ya ha sido establecido! = nullPor MainActivityy / o BroadcastReceiver). Puesto que todas sus actividades se extienden BaseActivity, el restablecimiento de datos variables se va a pasar a toda la terminación del proceso.

¿El androide (En caso de poca memoria) destruye las actividades individuales o se destruya mi aplicación (actividades enteros) enteros?

En este caso Android destruye proceso de aplicación general.

Si Android podría destruir MainActivity solo y mantener el var estática, ¿cómo puedo recibir notificaciones o estar al tanto de que la próxima vez MainActivity aperturas para que pueda volver a cargar los valores dentro de la var estática?

Utilice SharedPreferences si procede.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=212450&siteId=1
Recomendado
Clasificación