前言
在上节中,我们已经讲到了LifeCycle
在Activity/Fragment
,Service
上的使用,大家有兴趣的话可参考以下文章:
Lifecycle的使用
LifecycleService解耦Service生命周期
今天让我们来学习下ProcessLifecycleOwner
对于整个应用的生命周期的解耦。
今天涉及知识有:
-
ProcessLifecycleOwner
作用 - 效果图和项目结构图
-
ProcessLifecycleOwner
引用依赖 -
ProcessLifecycleOwner
使用 -
ProcessLifecycleOwner
应用场景
一. ProcessLifecycleOwner 作用
同Lifecycle
和LifecycleService
功能相似,ProcessLifecycleOwner
主要作用也是用来解耦,不同的是它是用来解耦整个应用的生命周期的。作用于Application
之上,可以避免Aplication
类的臃肿。
二. 效果图和项目结构图
先给出项目结构图和效果图
项目结构图.png
效果图.gif
三. ProcessLifecycleOwner 引用依赖
在使用ProcessLifecycleOwner
前,我们需要在app_module
对应的build.gradle
中添加依赖:
dependencies {
// Java 8支持的 DefaultLifecycleObserver
implementation "androidx.lifecycle:lifecycle-common-java8:2.3.1"
// ProcessLifecycleOwner给整个app进程提供一个lifecycle
implementation "androidx.lifecycle:lifecycle-process:2.3.1"
//其他代码省略
//......
}
四. ProcessLifecycleOwner 使用
先实现DefaultLifecycleObserver
接口写一个ApplicationObserver
:
网友评论