ChenHong
ChenHong
checkThread发送在viewRootImpl,其在onResume时创建 子线程在初始化looper且looper.loop开启循环 把子线程运行在oncreate时机更新UI也应该可以
LruCache和DiskLruCache底层实现 LRU概念-最近最少使用 将访问的元素根据访问的顺序 进行排序 LruCache和DiskLruCache底层均为LinkedHashMap 是一个由包含KV的结点形成的双向链表 按照进入的顺序排列 当进入的元素在链表里有重复 会将这个元素调到链头表示访问频度高 当超过空间阈值时 会首先淘汰最近最少使用的元素 DiskLru相比于Lru来说 更注重于对文件的读写 和文件操作的保护 LruCache因为其特性会出现在使用中有元素被淘汰 而在业务场景中有时候需要被淘汰的元素 我们可以将其淘汰的元素 存储起来保存在队列中 避免这种情况
线程的状态 当new Thread新建线程时 线程为NEW 新建状态 接着线程会进入锁池竞争获取锁 如果成功获取锁会进入就绪状态 获取失败 进入就绪状态的线程 会等待CPU分配时间片 之后进入运行状态 执行任务 如果线程在运行中被调用了sleep睡眠 中断join(放弃CPU占用而停止运行的情况)都会进入阻塞状态加入到阻塞队列中 等待唤醒或者时间到 释放锁的进锁池重新获取 保留锁的进入就绪状态 等待CPU时间片 如果调用的是wait方法 线程会进入等待状态(需要外部唤醒notify) 加入等待池 唤醒之后再去锁池竞争锁 执行完毕后进入死亡状态
原理上可以实现
最近会开始看看
是的,目前还没有在Github开源出来,我会在其理论基础上完善补充 希望你也能参加
与阿里的可以说完全不同 着重点不同 阿里的注重线上配置 这个框架注重端上弹窗管理