设计模式
文章平均质量分 96
李可乐
资浅Android开发,正在越走越深。
展开
-
设计模式-单例模式(Singleton)在Android中的应用场景和实际使用遇到的问题
介绍在上篇博客中详细说明了各种单例的写法和问题。这篇主要介绍单例在Android开发中的各种应用场景以及和静态类方法的对比考虑,举实际例子说明。单例的思考写了这么多单例,都快忘记我们到底为什么需要单例,复习单例的本质 单例的本质:控制实例的数量全局有且只有一个对象,并能够全局访问得到。控制实例数量有时候会思考如果我们需要控制实例的数量不是只有一个,而是2、3、4或者任意多个呢?我们怎样控制实例原创 2016-05-08 19:25:21 · 12904 阅读 · 7 评论 -
Android开发-从源码分析Fragment嵌套PagerAdapter生命周期,解决重建问题
介绍众所周知在Android开发中Fragment的生命周期非常复杂,复杂得甚至让Square公司提出了我为什么主张反对使用Android Fragment转而提倡使用自定义View组合替代Fragment。但是没办法公司项目还是使用了很多Fragment嵌套。遇到问题还是需要自己去处理的。这里以Fragment的状态保存和恢复(即重建)来讨论一些关于Fragment的生命周期问题。...原创 2017-07-06 00:51:06 · 2890 阅读 · 0 评论 -
Android开发-备忘录模式在Android的应用和模拟实验
介绍在上一篇设计模式-备忘录模式(Memento)的详解中,使用文字和示例代码解释了备忘录模式。对于备忘录模式的理解是本文基础。如果还不了解备忘录模式还请参考上一篇 首先我们都知道Android移动设备因为内存大小问题,会经常发生GC内存回收操作。关于GC内存回收的发生时机有多种,以后再详解。这里就举例一种常见情况,用户在某个Activity中按下Home键返回桌面,很长时间后通过“近期任务”列表原创 2017-07-05 16:48:23 · 1454 阅读 · 0 评论 -
设计模式-备忘录模式(Memento)的详解
介绍稍微了解一些java设计模式的都知道,设计模式中有一种备忘录模式,关于作用应该看名字就知道应该和状态保存有关。本文就从定义到示例代码到实际应用一步步说明详解。定义备忘录模式定义:在不破坏封装性的前提下,捕获对象的内部状态。 本质:保存和恢复内部状态 作用:在不暴露内部状态不破坏封装完整性的前提下,能够统一的得到内部状态,并且在恰当的时机恢复内部状态。内部状态在一个java类里面,不可避免的需原创 2017-07-04 18:25:17 · 842 阅读 · 0 评论 -
Android开发-事件分发机制实验分析ViewGroup、View事件分发,结合职责链模式
介绍上一篇博客职责链/责任链模式(Chain of Responsibility)分析理解和在Android的应用 介绍了职责链模式,作为理解View事件分发机制的基础。 套用职责链模式的结构分析,当我们的手指在屏幕上点击或者滑动,就是一个事件,每个显示在屏幕上的View或者ViewGroup就是职责对象,它们通过Android中视图层级组织关系,层层传递事件,直到有职责对象处理消耗事件,或者没原创 2016-06-01 18:01:20 · 5301 阅读 · 1 评论 -
设计模式-职责链/责任链模式(Chain of Responsibility)分析理解和在Android的应用
介绍我一直感觉Android源码不能只简单的看,结合设计模式的思想再去看源码会有更深的理解。但是源码中应用某个设计模式,会根据实际情况会有一些差异。所以需要先透彻地理解设计模式。熟悉设计模式的应用场景就可以在Android源码的场景中找到相应的实现,熟悉设计模式就能够透过浩瀚的源码看到本质。 今天突然想到有关View点击事件的分发,感觉它的设计需求就很符合职责链模式(Chain of Respon原创 2016-06-01 01:17:07 · 3262 阅读 · 0 评论 -
设计模式-单例模式(Singleton)各种写法和分析比较
介绍单例模式是设计模式中比较简单容易理解的。它的出现主要是: 保证一个类仅有一个实例,并提供一个访问它的全局访问点其实就在系统运行期间中保证只有这么一个实例,并能够全局访问。应用场景就是当需要一个对象时,这个对象需要整个系统运行期间只有一个,并且这个对象的新建开销比较大,为了避免频繁的新建对象浪费内存。就使用单例模式。代码实现单例模式有比较经典的两种写法。前段时间我去面试的有家公司面试题就有一原创 2016-05-07 23:51:18 · 5183 阅读 · 1 评论 -
设计模式-装饰者模式(Decorator)理解和在Android中的应用
介绍最近写代码没有手感,就看看书找点写代码的灵感。看点高大上的设计模式谈谈自己的理解。我读的是《研磨设计模式》看完之后真正的醍醐灌顶。借用一句话 一本值得反复研读的书 读了设计模式,其实我觉得看Android源码不是一行一行的看,毕竟源码的代码太多,其实很多都是输入检查非空判断异常处理等,如果只是关心的关键的实现步骤抓重点的话,就找到关键实现就好了。这话说得有点绕。我们怎么知道什么是重点。这就原创 2016-04-22 18:22:48 · 8382 阅读 · 2 评论 -
设计模式-享元模式(Flyweight)的分析说明和Android中的关键应用
介绍写博客总是需要动力和动机的,最近在看Android线程和进程的分析,其实就是Handler这个Android开发中最重要的东西。说来惭愧现在也只是会用的程度。本着要进步的心态我需要在这块下功夫研究。代码要一行一行的写,书要一本一本的看。 相信大家都写过这样的代码: Message message= handler.obtainMessage(); message.原创 2016-05-15 18:13:36 · 1175 阅读 · 0 评论 -
Android开发-BottomSheet的使用和说明
Android开发-BottomSheetDialogFragment的使用和封装介绍在官方提供的android.support.design.widget包中,加入bottom sheet能够很方便的实现一些酷炫的功能。官方blog说明得比较简单,中文博客上也有一些介绍和说明 Android Bottom Sheet详解本文就是从这些博文中开始探索,最后总结一些使用经验和封装方便之后的使用。简单原创 2016-12-09 12:54:56 · 9762 阅读 · 4 评论