android - vendida - ¿Cuál es la forma correcta de anular el registro de las devoluciones de llamada del ciclo de vida de la actividad?
devoluciones sobre ventas ejemplos (1)
Simon tenía razón sobre esto. registerActivityLifecycleCallbacks
no requiere una llamada coincidente para unregisterActivityLifecycleCallbacks
. Como se describe en esta pregunta SO, no se puede detectar cuándo se está eliminando su solicitud. Así que no hay un lugar "lógico" para anular el registro de su devolución de llamada. E incluso si existiera, la instancia de su Application
eliminará después de que se lleve a cabo la última acción de la Activity
, y la eliminación de su Application
mActivityLifecycleCallbacks
lista mActivityLifecycleCallbacks
que contiene la referencia a su devolución de llamada de todos modos.
TL; DR: no se preocupe por llamar a unregisterActivityLifecycleCallbacks
, solo está allí si desea detener el seguimiento de las acciones de la Activity
durante el ciclo de vida normal de su Application
.
En la clase de aplicación de Android puede registrar / anular el registro de ActivityLifecycleCallbacks , lo que le permite monitorear los eventos del ciclo de vida de la actividad en su aplicación en un solo lugar (si así lo desea).
¿Dónde está el lugar adecuado para llamar a unregisterActivityLifecycleCallbacks ? Me estoy registrando en onCreate , y estaba pensando que onTerminate sería el lugar adecuado solo por el nombre del método, pero los documentos dicen que para onTerminate () :
Este método es para uso en entornos de procesos emulados. Nunca se llamará a un dispositivo Android de producción, donde los procesos se eliminan simplemente matándolos; no se ejecuta ningún código de usuario (incluida esta devolución de llamada) al hacerlo.
No veo ningún otro método en la clase de aplicación donde se realice una devolución de llamada de tipo ''apagado''. ¿Incluso necesitas darte de baja?