Android常用三方库及源码分析
文章平均质量分 80
Android常用三方库及源码分析
低头看天,抬头走路
句句都是正确的废话,招招都是致命的空招。
展开
-
Volley源码分析
流程图盗张网上的流程图 源码分析构建RequestQueueVolley 的调用比较简单,通过 newRequestQueue(…) 函数新建并启动一个请求队列RequestQueue后,只需要往这个RequestQueue不断 add Request 即可。我们来看看newRequestQueue(…)的代码: public static RequestQueue newRequestQue原创 2016-08-22 15:49:21 · 642 阅读 · 0 评论 -
Android事件分发源码分析
概述点击事件是由用户的触摸行为所产生的,它通过硬件来捕获,然后点击事件会交给WMS来处理。activity的onresume()方法中,ViewRootImpl会被创建,会将decorview添加到window中.当有点击事件时,ViewRootImpl把点击事件传递给DecorView的dispatchTouchEvent方法,DecorView是phonewindow内部类,phonewindo原创 2016-05-10 02:31:23 · 1660 阅读 · 0 评论 -
Volley缓存分析
首先Volley框架内部自己处理了DiskBasedCache硬盘缓存,但是没有处理LruCache内存缓存,因为一般在处理图片的问题上才更多的用到LruCache缓存,但是它提供了一个ImageCache接口供我们自己实现,该接口默认需要实现两个方法:getBitmap(String key)和putBitmap(String key, Bitmap bitmap)这就是从缓存中拿数据和存入数据原创 2016-03-25 16:57:35 · 1246 阅读 · 0 评论 -
ButterKnife框架原理和使用
大部分Android开发应该都知道@JakeWharton 大神的ButterKnife注解库,使用这个库我们可以不用写很多无聊的findViewById()和setOnClickListener()等代码 ButterKnife项目的主页在这里:http://jakewharton.github.io/butterknife/ 简单介绍一下使用方法:public class ExampleAct原创 2016-05-15 14:04:05 · 4142 阅读 · 0 评论 -
Universal-Image-Loader分析
public void displayImage(String uri, ImageView imageView, DisplayImageOptions options) { displayImage(uri, new ImageViewAware(imageView), options, null, null); } displayImage()会原创 2016-03-16 09:58:27 · 672 阅读 · 0 评论 -
Android图片加载框架
如今,市面上有各种各样的图片加载库,选择一个适合自己使用的图片加载库已经成为了每一个 Android 开发者的必经之路,现在市面上知名的图片加载库有 Universal ImageLoader、Volley ImageLoader、Picasso、Glide 以及最近的 Fresco。他们各有千秋,不能评定谁比谁好,只能说哪一个更适合你。比较Picasso、Glide 和 Fresco 三种图片加载原创 2016-04-16 01:37:38 · 1602 阅读 · 1 评论 -
FastJson解析
本篇接下来的内容是基于FastJSON 1.1.40,着重讲述其序列化、反序列化实现,最后分析FastJSON为何如此“fast”的原因。序列化所谓序列化,就是将java各种对象转化为json串。不多说,先上图。 序列化入口平常我们经常用到的是JSON.toJSONString()这个静态方法来实现序列化。其实JSON是一个抽象类,该类实现了JSONAware(转为json串)和JSONStr转载 2016-05-17 15:24:43 · 2149 阅读 · 0 评论 -
Android的Robotium框架初析
Robotium是基于Instrumentation的,Instrumentation把测试包和目标应用加载到同一个进程中运行,Robotium的search类会通过WindowManager从decorview开始搜寻控件保存起来,solo类的onClick方法获得控件坐标,根据坐标调用InputManager注入点击事件 相关链接:Robotium源码分析 Robotium源码分析之Inst原创 2016-08-03 11:18:14 · 354 阅读 · 0 评论 -
EventBus3.0以及老版本源码解析
1、概述 一般使用EventBus的组件类,类似下面这种方式: [java] view plain copy 在CODE上查看代码片派生到我的代码片 public class SampleComponent extends Fragment { @Override public void onCreate(Bundle savedInstanceState) { sup原创 2016-04-26 15:48:29 · 1076 阅读 · 0 评论 -
StringBuilder和StringBuffer源码浅析
首先我们来看两个类的继承体系:public final class StringBuilder extends AbstractStringBuilder implements Appendable, CharSequence, Serializable;public final class StringBuffer extends AbstractStringBuilder imp原创 2016-05-13 00:53:22 · 715 阅读 · 0 评论 -
Android异步消息处理源码解析
概述Android异步事件处理有很多方式,常用的有Handler的send(message)系列方法,post(runnable)系列方法,view.post(runnable)方法,runOnUiThread方法,AsyncTask以及EventBus。前面几种都是基于Handler机制,AsyncTask基于handler和线程池的封装,EventBus是基于发布者和订阅者的库,主要可以代替ha原创 2016-05-14 01:47:21 · 545 阅读 · 0 评论 -
EventBus3.0源码分析
1.简介想必每个入了门的Android开发者都多少对EventBus有过了解,EventBus是一个Android事件发布/订阅框架,通过解耦发布者和订阅者简化 Android 事件传递。EventBus使用简单,并将事件发布和订阅充分解耦,从而使代码更简洁。一直以来很受开发者的欢迎,截止到目前EventBus的安装量已经超过一亿次。足以看出EventBus有多么的优秀。目前网上已经有不少优秀的Ev原创 2016-05-15 16:00:04 · 739 阅读 · 0 评论 -
Retrofit2.0源码解析
怎么使用就不详述了,我们主要来看原理。得到retrofit对象 我们首先通过建造者模式获得retrofit实例 Builder(Platform platform) { this.platform = platform; // Add the built-in converter factory first. This prevents overriding it原创 2016-07-17 22:24:07 · 2725 阅读 · 0 评论