Diretório do artigo
Monitor global
Antes de api 28, usando android.app.Application.ActivityLifecycleCallbacks ouvindo ciclo de vida Atividade. Começa api 14 (Android 4.0). Como pode ser visto a partir de seu nome de pacote, é a interface do monitor no nível do aplicativo. Aplicação exigido pelo registerActivityLifecycleCallbacks(ActivityLifecycleCallbacks callback) 、 unregisterActivityLifecycleCallbacks(ActivityLifecycleCallbacks callback)
registro e anti-registro.
Porque é global, assim que escrever algum código que a situação geral é mais apropriado.
ouvintes locais
Use as jetpack componentes da arquitetura Lifecycles
configuração
- androidx.appcompat configuração
utilizando androidx biblioteca, ou a compatibilidade uso Fragmento AppCompatActivity sob androidx pacotes, que pode ser interno, atravésgetLifecycle()
, foi obtidoandroidx.lifecycle.Lifecycle
androidx ainda muito novo, e uma variedade de suporte a bibliotecas de código aberto não é suficiente. Com ele, pode haver todos os tipos de problemas de problemas.
- suporte de appcompat configuração
não fazerandroidx
, ou o uso decom.android.support:appcompat-v7:28.0.0
tal configuração a.
Da mesma forma, por Fragmento apoio-v7 ou inferior em AppCompatActivity compatibilidade apoio-v4, estão dentro deles, chamadagetLifecycle()
, isto é obtidoandroid.arch.lifecycle.Lifecycle
, por conseguinte, necessita de mais introduzidoandroid.arch.lifecycle:extensions:1.1.1
uso
Como acima, a aquisição Lifecycle
, pode ser adicionado o observador: addObserver(LifecycleObserver observer)
remoção do observador quando apropriado removeObserver(LifecycleObserver observer)
porque LifecycleObserver
uma interface vazio, não existe nenhum método de sumário, isto requer a implementação costume, suplementado com android.arch.lifecycle.OnLifecycleEvent
métodos abstract anotados. Tais 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();
}
Assim, a lógica pode lidar com seu ciclo de vida no respectivo processo.
Nota:
- Acima, usando o padrão observador. Uma pluralidade de espectadores podem ser adicionados exemplo LifecycleObserver.
- modo de audição local, pode ser executado em um dispositivo versão de baixo; configuração só requer o compilador versão 28, o apoio-v7 versão 28