Directorio artículo
Monitor mundial
Antes de API 28, usando android.app.Application.ActivityLifecycleCallbacks escucha ciclo de vida de actividad. Se inicia api 14 (Android 4.0). Como puede verse en el nombre del paquete, es la interfaz del monitor de nivel de aplicación. Aplicación requerido por el registerActivityLifecycleCallbacks(ActivityLifecycleCallbacks callback) 、 unregisterActivityLifecycleCallbacks(ActivityLifecycleCallbacks callback)
registro y anti-registro.
Debido a que es global, por lo que escribir un código que la situación general es más apropiado.
oyentes locales
Utilice los jetpack componentes de la arquitectura de ciclos de vida
configuración
- androidx.appcompat configuración
usando androidx biblioteca, o a la compatibilidad uso Fragmento AppCompatActivity bajo androidx paquetes, que pueden ser internos, a través degetLifecycle()
, se obtuvoandroidx.lifecycle.Lifecycle
androidx todavía demasiado nuevo, y una variedad de soporte de la biblioteca de código abierto no es suficiente. Con él, puede haber todo tipo de problemas de problemas.
- apoyo-appcompat configuración
no lo hacenandroidx
, o el uso decom.android.support:appcompat-v7:28.0.0
dicha configuración a.
Del mismo modo, por Fragmento apoyo-v7 o inferior en AppCompatActivity compatibilidad apoyo-v4, están dentro de ellos, llamadagetLifecycle()
, se obtieneandroid.arch.lifecycle.Lifecycle
por lo tanto necesita introducido ademásandroid.arch.lifecycle:extensions:1.1.1
uso
Como el anterior, la adquisición Lifecycle
, el observador puede añadir: addObserver(LifecycleObserver observer)
eliminar el observador cuando sea apropiado removeObserver(LifecycleObserver observer)
, porque LifecycleObserver
una interfaz vacía, no hay métodos abstractos, se requiere implementación personalizada, complementado con android.arch.lifecycle.OnLifecycleEvent
métodos abstractos anotados. Tales como:
import android.arch.lifecycle.Lifecycle;
import android.arch.lifecycle.LifecycleObserver;
import android.arch.lifecycle.OnLifecycleEvent;
/**
* desc :
* author : stone
* email : [email protected]
* time : 2019/3/6 12 17
*/
public interface LifecycleCallback extends LifecycleObserver {
@OnLifecycleEvent(Lifecycle.Event.ON_CREATE)
void onCreate();
@OnLifecycleEvent(Lifecycle.Event.ON_START)
void onStart();
@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
void onResume();
@OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
void onPause();
@OnLifecycleEvent(Lifecycle.Event.ON_STOP)
void onStop();
@OnLifecycleEvent(Lifecycle.Event.ON_DESTROY)
void onDestroy();
@OnLifecycleEvent(Lifecycle.Event.ON_ANY)
void onAny();
}
Por lo tanto, la lógica puede manejar su ciclo vital en el proceso respectivo.
nota:
- Anteriormente, utilizando el patrón de observador. Una pluralidad de espectadores se puede añadir ejemplo LifecycleObserver.
- modo de escucha local, se puede ejecutar en un dispositivo versión baja; configuración sólo requiere la versión del compilador 28, el soporte-v7 versión 28