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

相关推荐
>Andre<1 小时前
系统架构全景
android
hai_android5 小时前
Android 嵌套滑动冲突:内部拦截 vs 外部拦截实战
android·android studio·android jetpack
木子欢儿7 小时前
Zabbix 7.4 Alpine 版 Docker Compose 部署
android·运维·docker·容器·zabbix
素师良码7 小时前
第9篇:Android驱动踩坑实录:DSI RX FIFO前置脏0、数据错位复盘
android
夜雪一千8 小时前
如何在MySQL中实现字段级加密
android·数据库·mysql
夜雪一千8 小时前
MySQL 如何存储经纬度坐标:选型、建表、空间查询实战
android·mysql·adb
JMchen8 小时前
集成第三方 C/C++ 库到 Android NDK 项目:OpenCV 与 FFmpeg 实战指南
android·opencv·cmake
有毒的教程10 小时前
Dev-C++ 使用扩展库两种方式:DevPak一键安装 / 手动配置(重点)
android·c++·adb
mmsx10 小时前
Android 测绘数值基础:测量单位系统与七四参数、高程拟合
android
郑州光合科技余经理10 小时前
出海外卖平台:支付对接为什么要和下单收款分开
android·java·开发语言·前端·后端·php·ai编程