
JetPack
文章平均质量分 96
neuHenry
一个还没有入门的程序员!!!
展开
-
Jetpack Room 使用及原理解析
Room 是 Google 官方推出的数据库 **ORM 框架**。ORM:即 Object Relational Mapping,即对象关系映射,也就是将关系型数据库映射为面向对象的语言。使用 ORM 框架,我们就可以用面向对象的思想操作关系型数据库,不再需要编写 SQL 语句。Room 是在 **SQLite** 的基础上提供了一个抽象层,以便在充分利用 SQLite 的强大功能的同时,能够更简便的访问数据库。原创 2022-05-17 21:54:13 · 2707 阅读 · 0 评论 -
分析 ViewModel 在配置改变后是怎么留存数据的
我们知道,页面在旋转屏幕后会导致配置信息的改变,并触发页面的销毁重建,这时存储有 ViewModel 的 ViewModelStore 会保存在 ActivityClientRecord.lastNonConfigurationInstances,在页面重建时 ActivityThread.performLaunchActivity 方法中调用 Activity.attach 方法,再将 NonConfigurationInstances 实例传给重建后的 Activity 的 mLastNonConfig原创 2022-05-14 17:54:23 · 623 阅读 · 0 评论 -
Jetpack ViewModel 使用及原理解析
ViewModel 是以能感知生命周期的方式存储和管理界面相关数据的组件。感知生命周期是说当 Activity 或 Fragment 创建第一个实例的时候,它开始创建;当 Activity 销毁或者 Fragment 分离的时候,它自动清理。存储和管理界面相关数据即 ViewModel 保存的数据,在页面因配置变更(如横竖屏切换、分辨率调整、权限变更、系统字体样式变更等)导致页面销毁重建之后依然也是存在的。原创 2022-05-14 16:52:01 · 1089 阅读 · 0 评论 -
Jetpack LiveData 使用及原理解析
LiveData 是一种可观察的、粘性的数据存储类。与常规的可观察类不同,LiveData 具有生命周期感知能力,具有生命周期感知的组件,一般指 Activity、Fragment 等,但不局限于此,更泛指实现了 Lifecycle.LifecycleOwner 的组件。这种感知能力可确保 LiveData 仅更新处于活跃生命周期状态的应用组件的观察者。原创 2022-05-10 20:23:17 · 961 阅读 · 0 评论 -
Jetpack Lifecycle使用及原理解析
Jetpack Components 学习之 Lifecycle,Lifecycle 提供了可用于构建生命周期感知型组件的类和接口,可以感知 Activity、Fragment 的生命周期并根据 Activity、Fragment 的当前生命周期状态在其相应的回调事件中调整其自身的行为,能有效的避免内存泄漏。原创 2022-05-09 19:01:08 · 1375 阅读 · 0 评论