摘要: 引言 Lifecycle 是官方提供的架构组件之一,目前已经是稳定版本,Lifecycle 组件包括LifecycleOwner、LifecycleObserver。Lifecycle 组件是执行操作以响应另一个组件(Activity或者Fragment)的生命周期状态的更改。 Lifecycle 阅读全文
posted @ 2018-12-15 21:47 fomin 阅读(1942) 评论(0) 推荐(0) 编辑
摘要: 引言 Retrofit 是一个用于 Android 和 Java 平台的类型安全的,底层使用OkHttp实现网络请求框架。Retrofit 通过将 API 抽象成 Java 接口而让我们连接到 REST web 服务变得很轻松。 RxJava 提供一套异步编程的 API,这套 API 是基于观察者模 阅读全文
posted @ 2018-12-14 10:56 fomin 阅读(1890) 评论(0) 推荐(0) 编辑
摘要: 引言 ConstraintLayout是一个ViewGroup,允许您以灵活的方式定位和调整小部件的方法,项目中的布局嵌套问题对项目性能有着不小的威胁,布局能实现扁平化的话会让软件性能得到很大的提升,而ConstraintLayout就是为了解决布局嵌套问题,提示项目的性能。官文有详细对比Const 阅读全文
posted @ 2018-12-07 10:32 fomin 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 1、概念 职责链模式为为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它,属于行为型模式。 2、模式结构 抽象处理者(Handler)角色:定义出一个处理请求的接口;如果需要,接口可以定义 出一个方法以设定和返回对 阅读全文
posted @ 2018-12-03 10:32 fomin 阅读(1243) 评论(0) 推荐(0) 编辑
摘要: 1、概念 状态模式允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它所属的类,属于行为型模式。 2、模式结构 环境角色(Context):定义客户端所感兴趣的接口,并且保留一个具体状态类的实例。这个具体状态类的实例给出此环境对象的现有状态。 抽象状态角色(State):定义一个接口, 阅读全文
posted @ 2018-11-30 11:50 fomin 阅读(231) 评论(0) 推荐(0) 编辑
摘要: 1、概念 解释器模式给定一个语言,定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子,属于行为型模式。但其在实际的系统开发中使用的很少,因为他会引起效率、性能以及维护等问题 2、模式结构 抽象解释器(AbstractExpression):声明一个所有的具体表达式角色都需 阅读全文
posted @ 2018-11-29 10:52 fomin 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 引言 JNI是Java Native Interface(Java本地接口),是为了方便Java调用C和C++等本地代码所封装的一层接口。 NDK是Android提供的一个工具集合,通过NDK可以在Android中更加方便地沟通JNI来访问本地代码。 两者之间的关系:JNI是实现目的,NDK是在An 阅读全文
posted @ 2018-11-28 16:18 fomin 阅读(578) 评论(0) 推荐(0) 编辑
摘要: 1、概念 备忘录模式在不破坏封闭的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便恢复到原先保存的状态,属于行为型模式。 2、模式结构 发起人角色(Originator):记录当前时刻的内部状态,负责定义哪些属于备份的状态,负责创建和恢复备忘录数据 备忘录角色(Memento):负责 阅读全文
posted @ 2018-11-28 10:27 fomin 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 1、概念 中介者模式用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互,属于对象行为型模式一种。 2、模式结构 Mediator: 抽象中介者,定义一个接口,该接口用于与各同事对象之间进行通信 ConcreteMediator 阅读全文
posted @ 2018-11-26 10:32 fomin 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 1、概念 访问者模式封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作,属于行为型模式一种。 2、模式结构 Visitor(抽象访问者):抽象访问者为对象结构中每一个具体元素类ConcreteElement声明一个访问操作,从这个操作的名称或参 阅读全文
posted @ 2018-11-23 11:41 fomin 阅读(330) 评论(0) 推荐(0) 编辑