源码学习
文章平均质量分 67
谢耀眼
坐标沈阳,欢迎骚扰。
展开
-
leakcanary源码学习
本文主要注重内存泄漏的流程进行源码学习文章目录leakcanary源码学习使用重点对象介绍注册监听垃圾回收调用gc前调用gc后内存泄漏查找流程endleakcanary源码学习使用在Android中使用leakcanary只需要一步 LeakCanary.install(this);重点对象介绍public static @NonNull RefWatcher install(@Non...原创 2020-05-07 07:49:50 · 253 阅读 · 0 评论 -
OkHttp源码学习——请求响应篇
在上篇OKHttp源码学习——缓存篇中主要是使用dispatch对同步和异步请求进行分发,和对缓存策略的处理,这篇主要学习OkHttp是如何发送请求和读取响应的。链接服务器链接主要是使用RealConnection这个类进行链接,是Socket链接过程中的封装。RealConnection会被添加到链接池,下次遇到相同地址时,就可以通过链接池将RealConnection取出来,这样就可以避免...原创 2018-11-08 23:41:52 · 258 阅读 · 2 评论 -
OKHttp源码学习——缓存篇
OKHttp真实调用请求的类是RealCallDispatcher该类是作为请求分发 //异步请求最多的请求个数 private int maxRequests = 64; //同一个host最多异步请求的个数 private int maxRequestsPerHost = 5; //线程池 private ExecutorService executorService...原创 2018-11-07 22:18:14 · 164 阅读 · 0 评论 -
RxJava源码学习
subscribe源码分析:简单demo创建被监听者 Observable<String> observable1 = Observable.create(new Observable.OnSubscribe<String>() { @Override public void call(Subscriber&lt...原创 2018-07-05 16:30:25 · 115 阅读 · 0 评论 -
ViewPager源码学习——布局篇
看一点记录一点,虽然网上很多大佬都有记录,但还是想自己学完记录下 ViewPager继承自ViewGroup,先从onMeasure、onLayout、onDraw开始看起onMeasure主要做了这几件事:对整个ViewPager的大小进行设置。设置的大小为父类传递过来的大小,也就是剩余的空间,对这个不理解的可以看博主另一篇文章Android自定义时间轴测量DecorView,...原创 2018-06-20 18:07:59 · 658 阅读 · 0 评论 -
ViewPager源码学习——滑动篇
有没有一起学的,感觉自己看的太慢了=.= 部分注解没写,是还没看到呢…private void scrollToItem(int item, boolean smoothScroll, int velocity, boolean dispatchSelected) { //根据传入的Position,从mItems中获取ItemInfo ...原创 2018-07-15 21:36:43 · 421 阅读 · 0 评论 -
Handler源码学习
Looper当我们创建一个Looper的时候可以调用静态方法prepare() 该方法可以去创建一个Looper。public static void prepare() { prepare(true); }这里prepare传递的参数true或者是false,是规定该Looper是不是可以退出的,在主线程的Looper是不可以退出的,但是子线程的Loope...原创 2018-03-20 22:26:13 · 132 阅读 · 0 评论 -
自定义View之Layout方法详解
自定义View之onLayout、Layout分析原创 2017-04-01 12:02:57 · 10495 阅读 · 3 评论 -
开源视频播放框架学习——AndroidVideoCache
github:AndroidVideoCache 该框架的思想就是在本地构建一个ServerSocket作为代理服务器,将对Mp4地址进行封装,从而拦截到本地ServerSocket,拦截之后解析出url和请求头进行真正的网络请求。而视频播放控件例如MediaPlay、VideoView就相当于客户端了,最后将真正的网络请求通过Socket的方式写入到客户端,这样视频控件就可以播放了。 听不懂...原创 2019-01-31 22:03:12 · 7184 阅读 · 2 评论 -
Android AsyncTask源码学习
AsyncTask如何使用这篇文章就不说了,网上很多,主要学习下源码,增长下见识。TestAsyncTask test = new TestAsyncTask();test.execute("aaa");class TestAsyncTask extends AsyncTask<String,Integer,Long> { @Override ...原创 2018-03-10 20:06:19 · 172 阅读 · 0 评论