studio android garbage-collection broadcastreceiver static-variables

android - studio - BroadcastReceiver Life Cycle-Variables estáticas



broadcastreceiver android studio (2)

Tengo una clase BroadcastReceiver. Tengo algunas variables estáticas declaradas cuyo valor se actualiza en el lado del método onReceive (). Según mi conocimiento, la variable estática mantendrá su valor a través de las llamadas onReceive. ¿Hay alguna posibilidad de que pierda esos valores (como que mi clase será descargada al restablecer las variables estáticas)? Estas son básicamente algunas variables temporales. Necesito estar disponible para múltiples llamadas onReceive.


De la documentación para el ciclo de vida de BroadcastReceiver ...

Un objeto BroadcastReceiver solo es válido durante la duración de la llamada a onReceive (Contexto, Intención). Una vez que su código regrese de esta función, el sistema considera que el objeto ha terminado y ya no está activo.

Esto no hará que el uso de variables estáticas sea práctico en el sentido de que el sistema limpiará las cosas rápidamente. Intentaría usar SharedPreferences llamando ...

context.getSharedPreferences("MyReceiver", MODE_PRIVATE)

... en el método onReceive(...) del receptor (reemplace "MyReceiver" con algún nombre que tenga sentido para su aplicación).


O podrías, por supuesto, declarar los vars estáticos dentro de tu clase de actividad.