IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 【分析模板】 -> 正文阅读

[移动开发]【分析模板】

??目录

思考问题

1.为什么我们需要lifeCycle组件?Lifecycle的好处是什么

2.LifeCyclRegistry是怎么感知到生命周期状态(onCreate, onResume ..)的变化的回调的?

3.LifeCycleRegistry是如何把生命周期事件分发给LifeCycleObserver的?

一、版本

二、类图

三、流程

refer:

四、问题

五、总结

六、学习到了什么

七、参考


目录

思考问题

1.为什么我们需要lifeCycle组件?Lifecycle的好处是什么

【答】

LifeCycle组件是Android系统自带的可感知Activity和Fragment生命周期的组件,

LifeCycle的好处是可感知Activity和Fragment生命周期的组件,功能模块独立,与Activity,Fragment类进行解耦

2.LifeCyclRegistry是怎么感知到生命周期状态(onCreate, onResume ..)的变化的回调的?

【答】

在AppCompactActivity中有一个ReporFragment进行依赖注入,进行Activity组件的生命周期毁掉

3.LifeCycleRegistry是如何把生命周期事件分发给LifeCycleObserver的?

【答】

整体框架是通过观察者(LifeCycleObserver)和被观察者(LifeCycleRegistry)的观察者模式进行分发的。

1、ReportFragement进行Activity生命周期事件的分发给LifeCycleRegistry

2、LifeCycleRegistry通过内部的mObserverMap引用封装的观察者进行事件的再次分发

一、版本

implementation 'androidx.appcompat:appcompat:1.3.1'

二、类图

三、流程

refer:

https://juejin.im/post/5c7def0cf265da2d864b5c8b#comment

四、问题

五、总结

优点

1.使用了观察者模式,LifeCycleRegistry-被观察者,LifeCycleObserver-观察者搭建生命周期的分发

2.使用了@OnLifecycleEvent注解,进行了观察者针对生命周期方法的回调
缺点1.暂未支持底层Native的泄漏监听

六、学习到了什么

设计模式

观察者模式

设计1.扩展功能时,考虑通过组合的方式进行实现。比如用ReportFragment进行生命周期的监听和分发

七、参考

掘金

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-10-28 12:30:08  更:2021-10-28 12:31:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 1:06:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码