标签 Paging 下的文章

Lifecycle

Lifecycle应用

一般不需要指定依赖,我们只需要依赖implementation 'androidx.appcompat:appcompat:1.4.1'即可。如果需要指定特定的Lifecycle依赖,可以参考这里:https://developer.android.com/jetpack/androidx/releases/lifecycle

使用Lifecycle解耦页面组件

可以为方法添加@OnLifecycleEvent(Lifecycle.Event.ON_RESUME)此类注解实现,不过该方式已经被废弃,替代方案:DefaultLifecycleObserver or LifecycleEventObserver

使用LifecycleService解耦Service与组件

adb geo设置GPS位置方法:adb -s emulator-5554 emu geo fix 121.4961236714487 31.24010934431376

使用ProcessLifecycleOwner监听应用程序生命周期
//依赖
implementation 'androidx.lifecycle:lifecycle-process:2.4.1'
//定义CustomObserver
class CustomObserver : LifecycleObserver {
    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
    fun onResume() {
    }
}
//使用
ProcessLifecycleOwner.get().lifecycle.addObserver(CustomObserver())

特点:

  1. 针对整个应用程序的监听,与Activity数量无关;
  2. Lifecycle.Event.ON_CREATE只会被调用一次,Lifecycle.Event.ON_DESTROY永远不会被调用。

Lifecycle的好处

  1. 帮助开发者建立可感知生命周期的组件;
  2. 组件在其内部管理自己的生命周期,从而降低模块耦合度;
  3. 降低内存泄漏发生的可能性;
  4. Activity、Fragment、Service、Application均有Lifecycle支持。

- 阅读剩余部分 -