首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
不务正业的程序员
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
21
文章 21
沸点 0
赞
21
返回
|
搜索文章
最新
热门
dagger的使用
9、@Singleton的生命周期依附于component。要想保证真正的单例,需要在application中进行初始化 作用:提供创建实例的方法。 一个 Module 可以被多个 Component 引用。 作用:两个方法返回类型都是提供同一类型的依赖的时候,用 该注解进行区…
AsyncTask源码分析
调用execute启动任务。 从上面可以知道有一个@MainThread注解,表面该方法只能在主线程执行。 首先判断状态,总共有三种状态,分别为PENDING,RUNNING,FINISHED。默认的为PENDING,当执行executeOnExecutor方法时,将状态改为R…
Choreographer源码理解
1、负责接收和处理 App 的各种更新消息和回调,等到 Vsync 到来的时候统一处理。比如集中处理 Input(主要是 Input 事件的处理) 、Animation(动画相关)、Traversal(包括 measure、layout、draw 等操作) ,判断卡顿掉帧情况,…
Handler中的同步屏障
首先需要发送一个特殊消息作为屏障消息,当消息队列检测到了这种消息后,就会从这个消息开始,遍历后续的消息,只处理其中被标记为“异步”的消息,忽略同步消息(所以叫“同步屏障”),相当于给一部分消息开设了“VIP”优先通道。 因为一个读者建议,在分析源码的时候最好是结合demo来讲,…
Retrofit源码分析
主要分析1和2。 从该方法中可以看到,分为三种:Android,java8,IOS。我们是属于Android,后续都是基于Android来阐述。 从上卖弄可以看出,Android会返回一个默认的defaultCallbackExecutor,为MainThreadExecuto…
Handler问题问答
首先调用Looper的loop(),在loop()中,会去一直从MessageQueue中获取message. 主要分析上面的1、2、3、4处。 而我们传入的nextPollTimeoutMillis = -1,此时会一直阻塞。 在这里面采用的时==epoll机制==。 当我们…
个人成就
文章被点赞
26
文章被阅读
4,668
掘力值
194
关注了
93
关注者
6
收藏集
19
关注标签
2
加入于
2019-01-23