自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 Android图片加载框架的理解--Glide的理解

背景工作中,最常使用的就是Glide,因此一直想了解它的内部机制。好早之前看了Glide源码,陷进了源码细节无法自拔,笔记也记了一些比如:“Glide的with方法里,先是封装了RequestManager类,然后封装了xxx类………………”,这些没有意义的流程性的东西。现在站在整体的角度,希望对Glide有一些有用的理解,也功利性的思考:了解它的原理能带给我哪些好处。图片加载框架...

2019-10-14 17:46:04 182

原创 OkHttp设计思想

目录OkHttp源码分析(一)一、简要介绍1. 主要的类1.1 OkHttpClient(外观类)1.2 Request(请求数据类)1.3 Dispatcher(分发、调度器)1.4 RealCall(同步请求执行者)1.5 AsyncCall(异步请求执行者)二、okhttp同步请求方法三、okhttp异步请求方法四、okhttp框架流程分析1.OkHttp整体流程图2.OkHttp 类图五、...

2018-11-06 10:44:50 529 1

原创 应用管理详细设计

目录文章目录目录因为详细设计文档在内网里,所以复制了一份出来1. 相关人员2. 需求背景3. 设计决策3.1 组件设计3.2 代码设计4. UML图4.1 用例图4.1.1 接入方4.1.2 用户4.2 类图4.2.1 状态模式部分类图4.2.2 整体类图4.3 时序图4.4 状态图5. 设计理由5.1 使用状态模式理由5.2 整体设计理由因为详细设计文档在内网里,所以复制了一份出来1. 相...

2020-03-18 11:27:49 662

原创 待办详细设计

目录文章目录目录因为详细设计文档在内网里,所以复制了一份出来1. 相关人员2. 需求背景3. 设计决策3.1 组件设计3.2 代码设计4. UML图4.1 用例图4.1.1 接入方4.1.2 用户4.2 类图4.2.1 点击事件处理类图(责任链模式)4.2.2 图片开源库使用类图(策略模式)4.3 流程图4.3.1 点击事件处理流程图4.4 时序图4.4.1 浮窗时序图5. 设计理由5.1 使用...

2020-03-18 11:12:48 3073

原创 Java弱引用理解纠正!

背景之前学习弱引用时误入了歧途,老是以为弱引用的对象在GC时就一定会被回收,其实不正确的!纠正!弱引用的对象只有在没有对象引用的情况下,GC,才会被回收!例如:A a = new A();B b = new B(a);此时如果a = null;,那么a不会被回收,因为被B强引用;如果改成:A a = new A();WeakReference<A> w...

2019-10-15 09:44:34 159

原创 一分钟写好Adapter---Android最简洁通用的RecyclerView适配器

背景编写Adapter时,总会发现一些诸如判空、getData、setData等等重复的代码因此自己封装了一套通用的Adapter和ViewHolder只要实现5个暴露出来的方法,就可轻松实现Adapter使用链接Github地址...

2019-10-14 16:07:01 187

原创 最简单方式Android系统控件SnackBar设置自身点击事件

背景网上搜不到相应的解决方法工作中有相应需求解决方法Snackbar snackbar = Snackbar.make(参数一,参数二,参数三);snackbar.getView().setOnClickListener(new View.OnClickListener() { @Override public void onClick...

2019-08-01 14:55:02 403

原创 为什么subscribeOn第一次执行生效,observeOn每次执行都生效?

序本篇不想用太多底层源码去分析,而是会用整体的角度去分析前置知识阅读过作者另一篇文章 RxJava—一图胜千言RxJava使用阅读过subscribeOn和observeOn的源码(无论看懂与否,只要大概看过即可)如何通过“RxJava—一图胜千言”来分析这个问题?首先,通过 RxJava—一图胜千言 ,我们可以知道RxJava的大体流程分三步:① 创建所有被观察者对象; ...

2019-04-21 16:15:00 1840

原创 RxJava--一图胜千言

序本篇的目的在于 “通过代码执行的流程,以观察者模式的拉模型,对RxJava的思想进行理解”前置知识观察者模式RxJava基本用法代码执行流程Observable.create(new ObservableOnSubscribe()).map(xxx).map(xxx).subscribeOn(xxx).observeOn(xxx).subscribe(new Observe...

2019-04-21 15:39:40 476

原创 EventBus调register注册的“接收方法”会保存多久?--static、final、static final内存模型及思考

问题由来学习EventBus过程中发现,粘性事件会被保存在一个final修饰的Map集合中。由此就得出疑问:① 为什么不用static修饰?(按我的理解应该用static,因为static修饰这个集合就能一直活到App结束);② 为什么不是用static final进行修饰? ;③ 这个final集合能活多久?(太短的话,A、B两个Activity,A调用了register方法,B调用pos...

2019-04-03 16:13:13 182

原创 EventBus源码解析(3.1.1版本)

EventBus源码解析(3.1.1版本)核心思想:EventBus之所以能在不同线程,不同组件之间进行通信,核心思路是: 1.维护一个单例,使得不同线程,不同组件操作的都是这个整个程序全局的EventBus对象。 2.注册处理方法,将其参数类型、当前所在的类的对象、当前类的class对象对应的方法等等信息保存起来,存放在全局的EventBus中。 使得不同线程,不同组...

2018-04-23 20:41:41 354 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除