首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
源码解析
订阅
Yuloran
更多收藏集
微信扫码分享
微信
新浪微博
QQ
7篇文章 · 0订阅
RxDownload2 源码解析(三)
服务器必须支持按 byte-range 下载,也就是支持 Range: bytes=xxx-xxx 请求头。详见 Http 协议 rfc2616 - Range。 很简单,先读取 Content-Length 响应头,获取文件大小,然后用文件大小除以线程数就可计算出每条线程的下…
RxDownload2 源码解析(二)
顾名思义,就是分发下载任务的线程。该线程运行在 DownloadService 中,从业务上看,DownloadService应当仅被 start() & bind() 一次。任务分发线程,在 onBind() 时创建: 上述代码有个细节,onServiceConnected(…
RxDownload2 源码解析(一)
这里指服务器支持断点续传时,可同时开启几个线程去下载一个文件。而同时下载的最大任务数,是由信号量控制的 Http 协议的 HEAD 方法,检测服务器文件是否修改、服务器是否支持断点下载、保存文件长度都是 HEAD 请求(响应非常快)。实际使用时,要看自己的服务器是否支持 HEA…
Android 8.1 Handler 源码解析
一. 前言 基于Android 8.1(API27) 源码,分析 Handler 的工作流程。 在 Android 系统中,Zygote 进程是首个 java 进程,同时也是所有 java 进程的父进程。上层应用开发工程师所关注的 App 进程 fork 自 Zygote 进程…
Retrofit2 源码解析之动态代理
基于 Retrofit 2.3.0 & Android 8.1(API27)分析 Java 动态代理在 Android 上的实现。 动态代理最难理解的就是动在何处,其实动就动在代理类是完全在内存中生成的,包括创建类字节码、加载、链接、初始化代理类对象整个过程。不同于那些在编译期…
RxJava2 源码解析及设计思想
本文简析 RxJava2 的 subscribeOn 和 zip 操作符。 上述代码中,Single 到 subscribe() 之间的都称为 操作符,想像一下自己就是其中一个 操作符,那么位于左边的便称为 上游,位于右边的则称为 下游,故上下游其实是相对的。 由于 RxJav…
你真的了解 OkHttp 缓存控制吗?
最近在写一个开源项目,需要用到 Http 的缓存机制。由于项目所使用的 Http 客户端为 OkHttp,所以需要了解如何使用 OkHttp 来实现 Http 的缓存控制。很惭愧,这一块不太熟悉,所以就到网上 CV 了一下。虽然我知道网上很多博客不太靠谱,但是没想到,居然真掉坑…