Android Jetpack 组建介绍(一)——Lifecycler

转自带你领略Android Jetpack组件的魅力android

Android Jetpack

对于任何一个产品来讲,咱们开发中都会面对哪些问题?如:产品交互、用户体验、代码结构、数据获取、数据存储、网络优化、任务调度等等,虽然在如今的阶段这些问题已经有了很好的解决和优化,也有不少大神的开源组件方便开发者去使用,Android Jetpack就是Google给出的一个官方的处理方法(固然知识处理其中基本问题),Android Jetpack组件的优点:数据库

  • 轻松管理应用程序的生命周期
  • 构建可观察的数据对象,以便在基础数据库更改时通知视图
  • 存储在应用程序轮换中未销毁的UI相关数据,在界面重建后恢复数据
  • 轻松的实现SQLite数据库
  • 系统自动调度后台任务的执行,优化使用性能

Android Jetpack组件推荐的使用项目架构网络

image

上面架构组件的功能以下:架构

  • Activity和Fragment负责产品与用户的交互
  • ViewModel做为数据的存储和驱动
  • Resposity负责调度数据的获取
  • Room储存本地序列化的数据
  • Retrofit获取远程数据的数据

按照谷歌推荐的项目架构配合Android Jatpack组件的使用,将会有不同的开发体验,下面分析每一个组件如何帮咱们处理这些问题的。框架

Android Jetpack组件介绍

应用程序的开发和产品与用户的交互都是从UI开始的,用户可见的和开发者操做的结果都显示在界面上,因此界面的操做在卡法中占据很重要的地位,也是影响咱们开发和使用体验的重要部分,常见的问题如:UI的声明周期处理、数据的显示和刷新、注册监听的释放等, Jetpack架构组件就能够帮咱们规范化的解决他们。性能

Lifecycler

Lifecycler是一个生命周期感知组件,执行操做以响应另外一个组件(例如活动和片断)的生命周期状态的更改,简单来讲它能够监听活动组件声明周期的变化,在每一个声明周期执行相应的方法,不一样于以往想在生命周期中执行相应的方法须要设置接口,而后在声明周期中回调接口,这样会形成代码的耦合,也会引起声明周期的问题;优化

Lifecycler的优势

  • Lifecycler实现了执行的逻辑和活动的分离,代码解耦而且增长了代码的额可读性
  • Lifecycler在活动结束时自定移除监听,避免了声明周期的问题

Lifecycler的实现主要使用两个主要枚举来跟踪其关联组件的生命周期状态.net

  • Event:从框架和Lifecycle类派发的生命周期事件。 这些事件映射到活动和片断中的回调事件。
  • State:由Lifecycle对象跟踪的组件的当前状态。

image

Lifecycler的原理

Lifecycler为每一个活动组件添加了一个没有界面的Fragment,利用Fragment周期会根据活动声明周期变化的特性实现的特性,从而实现声明周期的感知,而后根据注解的Event查找执行相应的方法对象

相关文章
相关标签/搜索