源码解析
文章平均质量分 91
HXL~
干!
展开
-
安卓面试:如何提高Message的优先级?
面试官:如何提高Message的优先级? 前言 在日常的开发中有的场景需要我们自己的Message尽快被执行,这时候就需要提高Message的处理优先级。想解决这个问题,就需要对MessageQueue的构造有一定的了解,MessageQueue通过一个链表的结构,根据Message的参数when的大小进行排序,将系统以及我们自己发出的所有Message串起来,when的值越小那么此Message在,当Looper需要处理一个Message的时候,就会从链表里找出一个最符合要求的Message并分发处理。基原创 2021-09-27 20:25:18 · 503 阅读 · 0 评论 -
Retrofit源码解析(一)
在介绍retrofit之前,还是要先详细说一下okhttp。retrofit与okhttp的角色关系就像包工头和工人,retrofit就是包工头,okhttp就是工人。当你想盖一栋房子(发送网络请求)的时候,你就要去和包工头协商我要什么样的房子(发送什么样的请求),当最终确定后,包工头就会派工人去进行实际施工(okhttp去完成实际的网络请求),房子竣工后包工头又来告诉你房子盖完了(retrofit的callback请求回调)。先来看用okhttp发送一个模拟的网络请求: val okHttpClient原创 2021-02-06 16:59:07 · 307 阅读 · 0 评论 -
Retrofit源码解析(三)
前两篇介绍了retrofit与okhttp的关系以及retrofit的内部属性组成,这一遍正式开始剖析retrofit发送一个网络请求的全过程。我们使用最简单的方式构建retrofit,没有搭配RxJava2CallAdapterFactory也没有设置GsonConvertFactory,看看最原汁原味的retrofit是如何工作的。 一、retrofit构建 val retrofit = Retrofit.Builder().baseUrl("http://www.base.com/").build()原创 2021-02-20 16:51:51 · 349 阅读 · 0 评论 -
Retrofit源码解析(二)
上一篇中大致对比了okhttp和retrofit发送请求的大致流程,了解okhttp的工作流程对掌握retrofit是非常重要的。本篇继续讲解retrofit的内部构成。retrofit使用Builder模式完成构建,通过Builder模式开发者可以配置常用的GsonConvertFactory完成json数据实例化,也可以添加RxJava2CallAdapterFactory进行自定义请求,最终这些额外的配置都被保存在Retrofit的实例当中。下面先来看Retrofit的属性都有哪些: public f原创 2021-02-07 17:45:53 · 549 阅读 · 0 评论