Android ProcessLifecycleOwner

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 方法

相关推荐
城东米粉儿3 小时前
Android MediaPlayer 笔记
android
Jony_3 小时前
Android 启动优化方案
android
阿巴斯甜3 小时前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android
张小潇3 小时前
AOSP15 Input专题InputReader源码分析
android
_小马快跑_7 小时前
Kotlin | 协程调度器选择:何时用CoroutineScope配置,何时用launch指定?
android
_小马快跑_7 小时前
Kotlin | 从SparseArray、ArrayMap的set操作符看类型检查的不同
android
_小马快跑_7 小时前
Android | 为什么有了ArrayMap还要再设计SparseArray?
android
_小马快跑_7 小时前
Android TextView图标对齐优化:使用LayerList精准控制drawable位置
android
_小马快跑_7 小时前
Kotlin协程并发控制:多线程环境下的顺序执行
android
_小马快跑_7 小时前
Kotlin协程异常捕获陷阱:try-catch捕获异常失败了?
android