首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
用户491558840696
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
17
文章 17
沸点 0
赞
17
返回
|
搜索文章
赞
文章( 17 )
沸点( 0 )
RetryAndFollowUpInterceptor
宏观流程 源码解读 总结: 初始化了连接的对象(StreamAllocation,但是比没有真正建立连接,只是初始化了对象)(前置拦截); 通过RealInterceptorChain,再调用下一个拦
BlockCanary
原理 即整个应用的主线程,只有这一个looper,不管有多少handler,最后都会回到这里。 看下Looper的loop方法。 在消息执行前后打印时间。根据时间判断是否卡顿。 核心流程图 源码分析
ViewModel源码分析
简介: ViewModel类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel类让数据可在发生屏幕旋转等配置更改后继续留存。 数据和UI进行解耦。 使用: 生命周期 在 Fragme
Gson源码解析
简介 java对象和JSON之间相互转换的库。 虽然现在PB协议已经成为主流,还是来看下Gson库实现的思路。 使用 引入 转换 源码分析 构造方法 factories里面添加了大量的基本数据类型的T
折叠TextView
简介: 折叠TextView不是特别难实现,并且Github已经有好多已经实现好的。 这个控件很常用,所以特别写篇博客。 问题: 怎么判断是否需要折叠? 怎么获取折叠后的文本? 如何把展开的提示文本拼
CacheInterceptor
源码解析 没有缓存和禁止使用网络 直接返回504 有缓存禁止使用网络直接返回缓存 请求网络,如果后台内容没有改变,返回缓存 后台内容改变缓存后台返回的内容,并返回。 Cache.java 通过Disk
Butterknife
工作原理 运用APT技术,自定义注解,编译是扫描注解,解析注解生成对应java代码。 调用ButterKnife.bind(this)方法的时候,将ID与对应的上下文绑定在一起。 源码解析 总结: 通
Retrofit设计模式
建造者模式 工厂模式 静态工厂 根据Class.forName返回不同的平台。 外观模式 我们交互只需要和Retrofit打交道,不需要了解它里面封装的子系统。 策略模式 适配器模式 动态代理模式
Eventbus最强解析
使用 导入EventBus 定义事件 注册和解注册 监听事件 发送事件 源码解析 初始化 看下getDefault方法 很简单,返回一个单例。 看下构造方法。 为什么构造方法是public的? 在我们
SharedPreferences源码解析
简介 SharedPreferences(简称SP)是Android中很常用的数据存储方式,SP采用key-value(键值对)形式, 但不建议使用SP 来存储大规模的数据, 可能会降低性能. 问题
下一页
关注了
1
关注者
0
收藏集
0
关注标签
10
加入于
2022-02-10