- 博客(5)
- 收藏
- 关注
原创 AsyncTask 源码分析
我们在有异步任务时经常会使用 AsyncTask,都知道是 Handler + 线程池的异步框架,那原理是什么呢?怎么做到按顺序执行 onPreExecute() doInBackground() 等方法的呢,本篇文章会回答这些问题。下面从构造方法开始看 public AsyncTask() { this((Looper) null); } pu...
2019-02-17 01:35:06 125
原创 Rxjava 基本流程 源码分析
本篇文章是针对 rxjava 1.3.8 的源码进行分析,适用于刚会简单使用 rxjava 的新手阅读。本片文章的主要内容是:Observable rxjava 简单的流程源码分析 Func1 Func2 这几个是什么东西 预备知识简单介绍下在这篇文章中提到的几个对象Observable :翻译过来的意思是可以被观察的,即被观察者 Observer :即观察者对象 On...
2018-11-11 22:36:06 187
原创 OnMeasure源码分析
什么是MeasureSpec在看代码之前,先要了解MeasureSpec这个概念MeasureSpec是View的一个静态内部类,用于记录view的大小;通过父View的measurespec和子view的layoutparams可以得到子view的MeasureSpecMeasureSpec由specSize和specMode组成,为了节省内存,压缩成一个32位的int值。他的mo...
2018-07-27 19:43:57 241
原创 Glide 在 4.0 版本以上设置 Gif 播放次数
Glide 在 4.0 以前的版本,可以直接通过 GlideDrawableImageViewTarget() 来控制 Gif 的播放次数。Glide.with(mMainActivity).load(R.drawable.gif_drawable).into(new GlideDrawableImageViewTarget(imageview,2));在 4.0 版本后,会发现 Gli...
2018-06-30 17:04:47 5712 5
原创 Java类加载
1.类的加载过程JVM包含三大核心部分:运行时数据,类加载器和执行引擎。类加载机制为将class文件加载到内存中,进行检验、准备、解析和初始化,形成一个可以被虚拟机使用的java类型。java的类是动态加载的,只用用到这个类时才加载。类加载的顺序为:加载,验证,准备,解析和初始化, 顺序上是固定的,但可以交叉进行。在java中,有且仅有四种情况下会对类进行初始化:1)使用new实例化对象的时候,使...
2018-06-27 21:55:19 164
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人