android
文章平均质量分 80
yolan6824
学海无涯苦作舟
展开
-
okhttp篇6:DiskLruCache
okhttp的缓存机制。原创 2023-05-20 14:37:08 · 734 阅读 · 0 评论 -
okhttp篇4:RetryAndFollowUpInterceptor
RetryAndFollowUpInterceptor,跟名字一样,主要负责重试。路由异常身份认证失败重定向请求超时最多重试20次。重试的时候,如果发现已经cancel了,取消重试。下一篇讲下一个拦截器。原创 2023-05-18 00:08:37 · 836 阅读 · 0 评论 -
okhttp篇3:RealCall
okhttpclient.newCall() 实际返回的是RealCall。RealCall的execute方法是一个同步阻塞获取Response的方法。execute方法会调用Dispatcher.execute方法,将自己加入到Dispatcher的runningSyncCalls队列中,并在获取到Response之后,调用Dispatcher.finished方法,将自己从队列中移除。原创 2023-05-16 23:19:43 · 793 阅读 · 0 评论 -
okhttp篇2:Dispatcher
Dispatcher管理着一个线程池,3个calls,分别是同步正在执行的calls:runningSyncCalls,异步正在执行的calls:runningAsyncCalls,正在排队的异步calls,readyAsyncCalls。没有正在排队的同步calls,因为同步calls都是马上执行的(唯一有一个问题,没有看到同步call到底在哪里执行,异步call好歹调用了excutorService.execute了)。原创 2023-05-16 00:23:13 · 543 阅读 · 0 评论 -
okhttp篇1: 总览
okio总览。原创 2023-05-15 23:32:28 · 61 阅读 · 0 评论 -
okio篇3-超时机制
okio的超时机制是怎么实现的原创 2023-05-07 12:06:38 · 786 阅读 · 0 评论 -
okio篇--总览
okio的总览原创 2023-05-07 11:10:26 · 541 阅读 · 0 评论 -
okio篇2-RealBufferedSource
介绍了okio中的RealBufferedSource类原创 2023-04-30 22:46:19 · 772 阅读 · 0 评论 -
okio篇 1.Buffer
Okio的两个基本概念:Source和Sink。Source对标基础io库中的InputStream,负责读数据。Sink对标OutputStream,负责写数据。Source和Sink的内部实现,都是一个Buffer。Buffer从字面意思理解就是一个缓冲区,跟BufferInputStream的概念比较类似。缓冲区的作用,就是可以减少调用系统api的次数,等缓冲区装满数据之后,再一次性调用系统api接口。而Buffer的底层实现是Segment链表。原创 2023-04-17 23:58:51 · 802 阅读 · 0 评论 -
View的绘制流程-measure
View的绘制流程源码解析原创 2022-05-22 19:05:02 · 202 阅读 · 0 评论 -
从相册选择图片到长按图片保存到本地的总流程
1.从相册选择图片到view上展示,(1)实际上是使用Intent打开相册的activity,(2)使用onActivityResult读取用户选中的图片(Uri),(3)根据Uri读取ContentProvider,获取到图片在文件系统中的path,(4)再用Glide根据path显示图片。2.长按view保存到本地,(1)将view转成bitmap,(2)使用bitmap.compress保存到文件流中(BufferedOutputStream,FileOutputStre.原创 2021-05-02 21:53:54 · 606 阅读 · 0 评论