
android源码分析
醉墨重生
世间万物终有循环,太极阴阳始的初衷。
展开
-
从源码的角度分析Fragment
1.我们最常用的有:①ViewPager + Fragment;②ViewGroup + Fragment ;③TabHost+Fragment 2.今天主要讲ViewGroup+Fragment2.1Fragment的添加 // 加载第一个Fragment 兼容11以下的版本 FragmentManager fragmentManager = get...原创 2018-03-07 15:28:51 · 342 阅读 · 0 评论 -
Rxjava源码分析
1.Rxjava基本使用1.Rxjava基本概念进行耗时任务Rxjava本质是一个异步操作库2.传统的观察者模式,举例RNG VS SKT首先定义粉丝,就是观察者//首先每个粉丝都会时时收到最新消息,所以提取公共接口public interface Observer { public void update(int edition, float cost...原创 2018-03-12 17:14:25 · 237 阅读 · 0 评论 -
EventBus源码分析
EventBus简单使用EventBus简单介绍1.Androd 事件发布/订阅框架2.事件传递即可适用于Android四大组件间通讯3.EventBus的有点是代码简洁,使用简单,并将事件发布和订阅充分讲解 Handler的使用 private Handler handler; @Override protected void onCreate(@...原创 2018-03-12 10:38:19 · 730 阅读 · 0 评论 -
Leakcanary内存框架源码解析
1.LeakCanary一些准备知识1.1LeakCanart简单介绍由Square开源的一款轻量第三方内存泄漏检测工具原理:watch一个即将销毁的对象1.2内存栈:基本对象的应用堆:用来存放new的对象方法区:也称为静态区1.3内存泄漏会导致什么问题OOM1.4android常见内存泄漏 1.4.1.单例造成的内存泄漏public class...原创 2018-03-10 14:54:00 · 437 阅读 · 0 评论 -
Glide源码分析
简单使用1.github官网:https://github.com/bumptech/glide2.几个重要概念 Model(可以是url,本地资源)->(ModelLoader获得原始数据)Data->(Decoder解码)Resource->(Transform裁剪等)TransformdResource->(Transcode转码操作等)TranscodeR...原创 2018-03-10 11:02:29 · 504 阅读 · 0 评论 -
retrofit源码分析
简单使用1.github官网:https://square.github.io/retrofit/ 2.介绍:App应用程序通过Retorfit请求网络,实际上是使用Retrofit接口封装请求参数,之后由OKHttp完成后续的请求操作在服务端返回数据之后,OKHttp将原始的结果交给Retrofit,retrofit根据用户的需求对结果进行解析3.添加依赖和添加网络请求权限:...原创 2018-03-09 15:19:04 · 226 阅读 · 0 评论 -
OKHttp框架源码分析(二)
上一篇: OKHttp网络框架源码解析(一)okHttp框架同步异步请求流程和源码分析http://blog.youkuaiyun.com/qq_24675479/article/details/79483193OKHttp拦截器官网:拦截器是OKHttp上提供一种强大的机制,它可以实现网络监听,请求,以及响应重写、请求失败重试等功能1.拦截器链:直接看execute方法 @Overr...原创 2018-03-09 10:01:49 · 235 阅读 · 0 评论 -
OKHttp网络框架源码解析(一)okHttp框架同步异步请求流程和源码分析
首先看下简单使用1.github官网:https://square.github.io/okhttp/ 2.添加依赖:compile ‘com.squareup.okhttp3:okhttp:3.10.0’ 3.同步请求 OkHttpClient okHttpClient=new OkHttpClient.Builder().readTimeout(5000, TimeUnit.S...原创 2018-03-08 15:52:29 · 332 阅读 · 0 评论 -
invalidate源码分析
public void invalidate() { invalidate(true); } void invalidate(boolean invalidateCache) { invalidateInternal(0, 0, mRight - mLeft, mBottom - mTop, invalidateCache, true); ...原创 2018-03-08 13:13:53 · 777 阅读 · 0 评论 -
事件分发源码分析
View的TouchEvent事件分发源码View 与 Touch 相关的有两个非常重要的方法dispatchTouchEvent 事件分发//默认是falseboolean result = false;// ListenerInfo li = mListenerInfo;ListenerInfo li = mListenerInfo;//如果是enabled而且触...原创 2018-02-25 17:16:23 · 222 阅读 · 0 评论