0%
目的
特点
方案
- 监控模块
- AppStart
- PageSpeed
- FPS
- Block
- 架构
- Module 模块,注入Config,启动Engine
- Engine 引擎,任务执行者
- Config 配置
- IInfo 数据
- AppStart 和 PageSpeed
- AppStart
- Application attach中记录开始时间
- 第一个Activity渲染完成之后,记录结束时间
- PageSpeed
- Activity onCreate中记录开始时间
- Activity 渲染完成后记录结束时间
- 渲染完成时间节点:DocorView.post(Runnable),消息执行完成
- 处理数据时间节点:onDestory
- Fps
- 算法:获取单位时间(t)内执行次数(count),fps = count/t
- 工作方式
- 处理数据时间节点:工作线程每秒计算一次fps(需要优化)
- Block
- 原理
- Looper中注入Printer
- Looper中轮训执行消息时,每个消息的 start 和 end 会触发printer.println
- 工作方式
- UI线程:两次println(dispatch和end)
- 工作线程:dispatch Handler延迟5秒发送一个消息,end时移除这个消息,如果5秒之内没有移除,将视为block