转自带你领略Android Jetpack组件的魅力android
对于任何一个产品来讲,咱们开发中都会面对哪些问题?如:产品交互、用户体验、代码结构、数据获取、数据存储、网络优化、任务调度等等,虽然在如今的阶段这些问题已经有了很好的解决和优化,也有不少大神的开源组件方便开发者去使用,Android Jetpack就是Google给出的一个官方的处理方法(固然知识处理其中基本问题),Android Jetpack组件的优点:数据库
Android Jetpack组件推荐的使用项目架构网络
上面架构组件的功能以下:架构
按照谷歌推荐的项目架构配合Android Jatpack组件的使用,将会有不同的开发体验,下面分析每一个组件如何帮咱们处理这些问题的。框架
应用程序的开发和产品与用户的交互都是从UI开始的,用户可见的和开发者操做的结果都显示在界面上,因此界面的操做在卡法中占据很重要的地位,也是影响咱们开发和使用体验的重要部分,常见的问题如:UI的声明周期处理、数据的显示和刷新、注册监听的释放等, Jetpack架构组件就能够帮咱们规范化的解决他们。性能
Lifecycler是一个生命周期感知组件,执行操做以响应另外一个组件(例如活动和片断)的生命周期状态的更改,简单来讲它能够监听活动组件声明周期的变化,在每一个声明周期执行相应的方法,不一样于以往想在生命周期中执行相应的方法须要设置接口,而后在声明周期中回调接口,这样会形成代码的耦合,也会引起声明周期的问题;优化
Lifecycler的实现主要使用两个主要枚举来跟踪其关联组件的生命周期状态.net
Lifecycler为每一个活动组件添加了一个没有界面的Fragment,利用Fragment周期会根据活动声明周期变化的特性实现的特性,从而实现声明周期的感知,而后根据注解的Event查找执行相应的方法对象