开源框架解析
文章平均质量分 84
进击的代码家
这个作者很懒,什么都没留下…
展开
-
Butterknife全方位解析
概述Butterknife是供职于Square公司的JakeWharton大神开发的开源库,使用这个库,在AS中搭配Android ButterKnife Zelezny插件,可以大大提高开发的效率,从此摆脱繁琐的findViewById(int id),也不用自己手动@bind(int id) , 直接用插件生成即可。本篇博客将对Butterknife进行深入解析。项目地址: JakeWharto原创 2016-12-04 22:16:51 · 4543 阅读 · 3 评论 -
Android开源框架源码解析系列(3)——ButterKnife源码解析
ButterKnife是一个专注于Android系统的View注入框架,有了ButterKnife可以很轻松的省去findViewById,ButterKnife用到的注解并不是在运行时反射的,而是在编译的时候生成新的class,对运行时性能没有影响,本篇我们来详细学习一下它的源码。1.ButterKnife的使用ButterKnife项目地址:https://github.com/JakeW...原创 2019-07-08 19:29:53 · 853 阅读 · 0 评论 -
开源框架源码解析系列(1)——进入OkHttp的世界
以前曾经写过一篇关于Okhttp的使用的文章深入解析OkHttp3,通过这篇文章可以了解OkHttp的各种基本用法,光会使用并不算好汉,我们还要深入理解源码,学习优秀的设计思想,本篇我就带大家一起分析源码,基于Okhttp 3.10.0版本。1.请求部分源码解析1.1 回顾请求的基本用法1.1.1 发送同步请求 Request request = new Request.Builder()...原创 2019-06-26 17:10:29 · 1577 阅读 · 0 评论 -
滴滴插件化VirtualAPK框架原理解析(二)之Service 管理
在前一篇博客滴滴插件化框架VirtualAPK原理解析(一)之插件Activity管理 中VirtualAPK是如何对Activity进行管理的,本篇博客,我们继续来学习这个框架,这次我们学习的是如何去管理Service。Service工作原理分析说道如何对Service进行插件化,肯定得先了解Service的工作过程,不然何谈插件化?所以我们先一起学习Service的工作原理。Service分为原创 2017-07-30 23:21:11 · 4745 阅读 · 1 评论 -
滴滴插件化框架VirtualAPK原理解析(一)之插件Activity管理
上周末,滴滴与360都开源了各自的插件化框架,Virtualapk与RePlugin,作为一个插件化方面的狂热研究者,在周末就迫不及待的下载了Virtualapk框架来进行研究,本篇博客带来的是Virtualapk原理解析的第一篇Activity管理,博客只是自己的理解,小弟才疏学浅,可能有很多理解不对的地方,欢迎各位大神指出。(看博客之前,请大家先下载Virtualapk的项目,https://g原创 2017-07-02 21:15:48 · 11340 阅读 · 7 评论 -
深入解析Glide源码
Glide 是 Google的开源项目, Glide具有获取、解码和展示视频剧照、图片、动画等功能,它还有灵活的API,这些API使开发者能够将Glide应用在几乎任何网络协议栈里。创建Glide的主要目的有两个,一个是实现平滑的图片列表滚动效果,另一个是支持远程图片的获取、大小调整和展示。本篇博客,我们一起深入分析Glide的源码。总体设计with方法首先我们来看一下glide的一般使用方法Gli原创 2017-06-23 09:30:48 · 9892 阅读 · 0 评论 -
Android Framework学习(六)之RefBase,SP,WP
Android中通过引用计数来实现智能指针,并且实现有强指针与弱指针。由对象本身来提供引用计数器,但是对象不会去维护引用计数器的值,而是由智能指针来管理。要达到所有对象都可用引用计数器实现智能指针管理的目标,可以定义一个公共类,提供引用计数的方法,所有对象都去继承这个公共类,这样就可以实现所有对象都可以用引用计数来管理的目标,在Android中,这个公共类就是RefBase,同时还有一个简单版本Li原创 2017-05-01 23:01:43 · 2889 阅读 · 0 评论 -
深入解析OkHttp3
OkHttp是一个精巧的网络请求库,有如下特性: 1)支持http2,对一台机器的所有请求共享同一个socket 2)内置连接池,支持连接复用,减少延迟 3)支持透明的gzip压缩响应体 4)通过缓存避免重复的请求 5)请求失败时自动重试主机的其他ip,自动重定向 6)好用的API其本身就是一个很强大的库,再加上Retrofit2、Picasso的这一套组合拳,使其愈发的受到开发者的关注原创 2017-01-08 21:47:24 · 62633 阅读 · 9 评论 -
一篇博客让你了解RxJava
RxJava可以说是2016年最流行的项目之一了,最近也接触了一下RxJava,于是想写一篇博客,希望能通过这篇博客让大家能对其进行了解,本篇博客是基于RxJava2.0,跟RxJava1.0还是有很多不同的基础知识RxJava的核心就是“异步”两个字,其最关键的东西就是两个:Observable(被观察者) Observer/Subscriber(观察者)Observable可以发出一系列的原创 2016-12-18 22:59:16 · 26808 阅读 · 13 评论 -
开源框架源码解析系列(2)——LeakCanary源码解析
LeakCanary是一个开源的,可以用来检测activtiy或者fragment内存泄漏的框架,本篇我们来学习这个框架的源码。1.LeakCanary接入dependencies { // debugImplementation because LeakCanary should only run in debug builds. debugImplementation 'com.s...原创 2019-06-27 19:28:24 · 1443 阅读 · 0 评论