00-面试查漏补缺
View绘制流程图
起点:ViewRootImpl
在ViewRootImpl
中有一个巨长的方法performTraversals
,其中会依次调用三个函数
- performMeasure
- performLayout
- performDraw
通过ViewRootImpl
的setView
方法,ViewRootImpl
对象会拥有一个mView
对象
在ViewRootImpl
中有一个巨长的方法performTraversals
,其中会依次调用三个函数
通过ViewRootImpl
的setView
方法,ViewRootImpl
对象会拥有一个mView
对象
只能纵向列表
没有动画api
api设计太个性了,和其他view设计的重复
性能不好
三个帮手
1 | public interface ThreadFactory { |
static <T> Single.just(T t)
onNext
1 | final Dispatcher dispatcher; // 线程控制 |
使用Deque控制任务
在上节https的ca证书验证时,如果某个恶意网站直接获取整个ca证书,发给其他用户骗取信任怎么办。这个时候就需要host验证,即证书的host主机与发送证书的主机host是否是同一个域名。
fiddler是一个中间人,通过系统代理,浏览器/应用将请求发送至fiddler,fiddler自签一个证书与浏览器/应用使用,且需要用户向操作系统安装根证书。fiddler拿到数据包后再与服务器交互。
在header中
Authorization: Basic username:password(Base64ed, encrypted)
在header中
Authorization: Bearer bearer_token
这里的bearer_token就类似于github的Personal access tokens
,在请求中持有token的请求,可以根据token的权限对第三方账号中的数据进行获取、修改