Android ProcessLifecycleOwner
- 针对整个应用程序生命周期的监听,和activity数量没有关系
- onCreate只会调用一次,onDestory不会调用
实现 DefaultLifecycleObserver
kotlin
class ApplicationObserver : DefaultLifecycleObserver {
companion object{
const val TAG ="ApplicationObserver"
}
override fun onCreate(owner: LifecycleOwner) {
Log.i(TAG,"onCreate")
}
override fun onStart(owner: LifecycleOwner) {
Log.i(TAG,"onStart")
}
override fun onResume(owner: LifecycleOwner) {
Log.i(TAG,"onResume")
}
override fun onPause(owner: LifecycleOwner) {
Log.i(TAG,"onPause")
}
override fun onStop(owner: LifecycleOwner) {
Log.i(TAG,"onStop")
}
override fun onDestroy(owner: LifecycleOwner) {
Log.i(TAG,"onDestroy")
}
}
在Application中添加
kotlin
class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
ProcessLifecycleOwner.get().lifecycle
.addObserver(ApplicationObserver())
}
}
通过日志观察,在应用启动会调用 onCreate 方法,退出后台或者kill进程,不会调用 onDestory 方法