- 深入浅出Android Jetpack
- 萧文翰编著
- 751字
- 2023-08-10 16:43:38
1.1.2 架构部分
有了“地基”的保障,我们就可以放心地建造大楼了吗?别急,还没制作设计图呢。做事情不能没有规划,开发App也是一样的。架构设计是软件开发过程伊始的蓝图,也是整个Android Jetpack组件中最常用、最重要的部分。
(1)Data Binding称为数据绑定,它以声明的方式将要展示的数据和界面View组件相互关联,使界面上的内容更新更加容易。
(2)Lifecyles意为生命周期,在Android中,Activity和Fragment的生命周期曾一度出现在各大公司的面试题中,足以窥见其基础性和复杂性。Lifecyles作为Google官方发布的组件,它提供了监听Activity和Fragment的生命周期变化的方法,使开发过程更加方便。
(3)LiveData可以简单地看作是可观察的数据持有者,它是对传统观察者模式(Observable)的增强。它还可以与Activity、Fragment甚至Service的生命周期相关联,做到仅在UI界面处于活动状态时更新数据。
(4)Navigation可运用于页面导航的开发中,它可以高效地组织多个Fragment,使Fragment的管理更加方便。
(5)Paging用于大量数据的分页加载需求中。无论是从本地数据库还是从网络上获取列表数据,耗时是必不可少的。为了提升加载时的体验,通常我们会使用分页加载机制。Paging应运而生,专为分页加载提供支持。
(6)Room是对Android App中的SQLite数据库API的补充,它可以帮助开发者更方便地实现对数据库的增、删、改、查等操作。
(7)ViewModel意为视图模型,它常被运用在MVVM架构模式的开发中,目的是使Model和View分离。ViewModel的原理是通过生命周期存储和管理与View相关的数据。
WorkManager用于管理App处于后台期间执行的工作。它和Service有所不同,虽然功能类似,但相对而言,使用WorkManager进行后台任务调度更加规范,App的性能在某些情况下更优。
在实际开发中,通常会用到一个或多个组件。根据项目规模和实际业务的不同,Lifecycles、LiveData是常用的;Data Binding、ViewModel等在复杂的页面组织场景中,对开发效率的提升尤为显著;对于需要驻留后台调度任务的项目,WorkManager则是不二之选;而对于数据量较大的业务场景,Paging和Room则会派上用场。