Fuga de receptor de difusión administrada localmente?

¿Es posible que un BroadcastReceiver local (es decir, administrado con LocalBroadcastManager) se escape cuando la aplicación es eliminada por el sistema?

El caso de uso específico para el que lo necesito es que quisiera registrar / cancelar el registro de BroadcastReceiver en el onCreate / onDestroy de una actividad (necesito que el receptor esté activo cuando la actividad no es visible), pero no me gustaría correr el riesgo Causando una pérdida de memoria haciendo esto. Según entiendo, si una sola actividad es destruida por el sistema, onDestroy se ejecuta y el receptor no está registrado. ¿Qué sucede si la aplicación se cancela? ¿El receptor permanece alrededor, o, siendo local, se mata junto con la aplicación?

Si LocalBroadcastManager vistazo dentro del código fuente de LocalBroadcastManager , verás que es realmente sólo una clase normal ("local", como dijiste) con un Map conecta los distintos BroadcastReceiver con la correspondiente List de IntentFilter .

Nada se registra en el "nivel del sistema" por lo que NO: si la aplicación es asesinada, la clase LocalBroadcastManager se elimina con ella y no se producirá ninguna pérdida .

Usted debe absolutamente no registrarlo en onDestroy porque onDestroy no significa que su aplicación está terminada, sólo su actividad. Otras actividades de tu aplicación podrían seguir ejecutándose, de modo que el receptor causaría una fuga.

  • ¿Por qué mi aplicación no está en la lista de aplicaciones para abrir el archivo txt?
  • Comprobar resultCode en BroadcastReceiver de Android?
  • ¿Cómo saber en BroadcastReceiver si la aplicación se está ejecutando en primer plano?
  • Registro y cancelación del registro de BroadcastReceiver en un fragmento
  • Enviar datos al receptor de difusión del administrador de alarmas
  • Recuperar el código de solicitud de la emisión de radio de alarma
  • Android ACTION_DATE_CHANGED difusión
  • Broadcast receptor onReceive () recibiendo llamadas varias veces
  • Cómo iniciar la aplicación en el botón de encendido presione
  • Actualizar una vista de lista en un fragmento de un receptor de difusión
  • ¿Cómo distinguir el estado de encendido / apagado de la pantalla durante la llamada entrante?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.