三方开源库
文章平均质量分 52
z真真
我是咸鱼,我是咸鱼,我是咸鱼!
展开
-
Glide4.9.0源码分析总体流程
SingleRequest#begin()public synchronized void onSizeReady(int width, int height) { // status = Status.RUNNING; float sizeMultiplier = requestOptions.getSizeMultiplier(); this.width = may...原创 2019-12-05 15:03:51 · 202 阅读 · 0 评论 -
okDownload1.0.5源码分析(断点续传)
参考:HTTP断点续传原理http协议 文件下载原理及多线程断点续传原创 2019-12-02 18:33:39 · 1514 阅读 · 0 评论 -
Gson 2.8.5源码解析(二)
上一篇是默认的Gson对象,默认的TypeAdapter对象这一篇,通过GsonBuilder注册TypeAdapter,可构造自定义的TypeAdapter对象实例:public class GsonTest { private static String jsonStr = "{\n" + " \"title\": \"Java Puzzlers: T...原创 2019-08-10 11:28:47 · 534 阅读 · 0 评论 -
EventBus 3.1.1 源码解析(二)
EventBus从3.0开始支持APT,编译期生成文件,就可以得到eventType、subscriberMethod、subscriberClass的映射关系。app下的build.gradle中引入EventBus和EventBus注解处理器android { defaultConfig { //添加这个,eventBusIndex javaCom...原创 2019-08-14 18:33:50 · 145 阅读 · 0 评论 -
retrofit 2.6.1源码解析(一)
文章目录实例讲解源码解析创建Retrofit实例(构造者模式)PlatForm的获取动态代理得到接口的实例serviceMethod的获取构建OkHttpCall对象Retrofit2 github地址实例讲解Retrofit引入,常规操作。 implementation 'com.squareup.retrofit2:retrofit:2.6.1' implementation ...原创 2019-08-12 18:56:33 · 449 阅读 · 0 评论 -
Rxlifecycle 2.1.0原理分析
文章目录简单使用源码分析如何监听activity/fragment的生命周期请求如何进行截断Observable#compose(composer)方法解析composer是LifecycleTransformer对象LifecycleTransformer是如何构建出来的bindToLifecycle分析bindUntilEvent()分析我们通常采用Retrofit + RxJava + G...原创 2019-08-16 16:52:24 · 832 阅读 · 0 评论 -
RxBus 简单分析
文章目录RxBus的实现如何解决RxBus存在内存泄露的问题?RxBus 可用于组件通讯。前面解说了eventBus的实现,注册、取消注册、发送消息,监听消息。RxBus的实现RxBus 并不是一个框架,而是一种使用 RxJava 实现事件总线的一种解决思路,实质是交由 RxJava 去实现。1、依赖引入,module的build.gradle中implementation 'io.r...原创 2019-08-16 17:32:15 · 561 阅读 · 0 评论 -
RxPermission 0.10.2 原理分析
文章目录为什么要进行权限申请?系统提供的权限申请方式RxPermissions的实现方式单个权限申请多个权限申请源码分析创建RxPermissions的实例为什么要进行权限申请?Android 6.0 ( API23 MarshMallow 棉花糖):运行时权限在6.0之前,应用安装时,会提示APP所需要的权限列表,同意之后安装,该app就被赋予所有的权限。在6.0之后,goog...原创 2019-08-16 19:04:14 · 660 阅读 · 0 评论 -
retrofit 2.6.1源码解析(二)converter
文章目录构建responseConverterGsonConverterFactoryGsonRequestBodyConverterGsonResponseBodyConverterRetrofit支持Gson,进行数据转换引入,很轻量呀,就3个类GsonConverterFactory,用于构建GsonConverter的工厂类GsonRequestBodyConverter,...原创 2019-08-13 11:09:25 · 373 阅读 · 0 评论 -
Gson 2.8.5源码解析(一)
对象序列化将java对象,转换为Json格式的字符串Gson gson = new Gson();String json = gson.toJson(book);创建StringWriter对象,再将其包装为JsonWriter对象根据TypeToken得到TypeAdapter,回调typeAdapter.write(jsonWriter, src)最终返回的就是这个string...原创 2019-08-10 10:53:34 · 536 阅读 · 0 评论 -
Mosby——a mode-view-presenter library for anroid_3.1.0
Github地址使用手册 :Model-View-Presenter library for androidmodel:获取数据模型view:视图、数据展示Presenter:持有view和model的引用,从model获取数据模型,通知view去更新视图这是一个内部使用代理和组合实现的库,不是一个框架,没有框架的限制。去掉所有三方库,三方库的维护和升级都会带来问题。depend...原创 2019-04-19 18:57:09 · 197 阅读 · 0 评论 -
EventBus 3.1.1 源码解析(一)
EventBus简化了各组件间的通信,有效的分离事件发送方和接收方(也就是解耦的意思),避免复杂和容易出错的依赖性和生命周期问题。类似于broadcastReceiver,EventBus比广播效率高。广播机制采用的观察者模式,即只要app注册了对广播的监听,广播发出的时候,就可以监听到。动态注册的广播必须动态取消。同样的,eventBus也需要注册和反注册。EventBus是按事件event...原创 2019-01-14 14:27:10 · 148 阅读 · 0 评论 -
OkHttp 源码解析3.8
基于OkHttp3.8 OkHttp同步请求:request和response默认在一个线程,需要new Thread 执行网络请求,并切换到主线程更新UIval client = OkHttpClient()val request = Request.Builder() .url("") .addHeader("header", "zz") ...原创 2018-06-12 19:16:51 · 500 阅读 · 0 评论 -
七牛云图片压缩处理
链接在这: 七牛云图片压缩处理方式 : 图片处理使用说明如果图片存储在七牛云上,可以对图片URL进行编辑,节省内存资源原图: https://portal.lanrenyun.cn/15125657341721525583604.jpg压缩处理后的 : https://portal.lanrenyun.cn/15125657341721525583604.jpg?imageView/...原创 2019-01-10 17:40:10 · 10200 阅读 · 5 评论 -
MVP框架 mosby
github 地址官方文档地址Model-View-Presenter library for android总的来说是一个轻量级的用于android的mvp库,里面没有任何三方库(三方库需要维护成本)。解决的是MVC模式下,activity既承担了UI工作,又承担了业务逻辑,过于臃肿的问题。MVP模式下,Activity承担UI操作,Presenter承担业务逻辑,Model数据模型。...原创 2019-01-10 18:42:43 · 232 阅读 · 0 评论 -
RxJava源码解析
github 地址RxJava is a library for composing asynchronous and event-based programs by using observable sequences.RxJava是一个基于事件流、实现异步操作的库。RxJava是基于观察者模式的:大概原理是Observable里持有observer的引用,Observable发送事件,o...原创 2019-01-10 18:50:22 · 138 阅读 · 0 评论 -
Dagger 2.15解析(实例+源码)
Dagger is a fully static, compile-time dependency injection framework for both Java and Android. It is an adaptation of an earlier versioncreated by Square and now maintained by Google.Dagger aims to...原创 2019-01-04 17:07:11 · 514 阅读 · 0 评论