frameworks 之 Winscope 工具

frameworks 之 Winscope 工具

  • [1. 手机端开启](#1. 手机端开启)
  • [2. 加载追踪的文件](#2. 加载追踪的文件)
    • [2.1 Android12](#2.1 Android12)
  • [3. 分析文件](#3. 分析文件)

Winscope 是一款 Web 工具,可以让用户在动画和转换期间和之后记录、重放和分析多个系统服务的状态。Winscope 将所有相关的系统服务状态记录在一个跟踪文件中。使用带有跟踪文件的 Winscope 界面,您可以通过重放、单步执行和调试转换来针对每个动画帧检查这些服务的状态

1. 手机端开启

  1. 进入设置 -> 系统 -> 开发者选项 -> 快捷设置开发者模块
  2. 勾选 winscope 追踪
  3. 下拉状态栏菜单点击即启动,再次点击即暂停

记录下的文件夹在 /data/misc/wmtrace 下,文件如下

名称 意义
ime_trace_clients.winscope 输入法相关
ime_trace_managerservice.winscope 输入法相关
ime_trace_service.winscope 输入法相关
layers_trace.winscope SurfaceFlinger 图层相关
wm_log.winscope
wm_trace.winscope WindowManager相关

运行后 可通过 拉到电脑下

bash 复制代码
adb pull /data/misc/wmtrace

2. 加载追踪的文件

2.1 Android12

对应 html 路径如下
prebuilts/misc/common/winscope 点击下面的Index.html 用google浏览器打开。

3. 分析文件

一般导入 layers_trace.winscopewm_trace.winscope 查看黑屏问题。

字段 意义
Simplify names 显示简短的名称
Only visible 显示可见的
Flat 折叠
Show Diff 表示与上一帧的差别
下方进度条 表示对应的进度,左右代表前进后退
Properties 选中图层的属性

选择勾选 diff

  • 绿色的 表示 新增
  • 红色的 表示 删除当带标签move的时候表示 当前图层移动到 另外图层 如584 移动到 600下面的

    查看黑屏可以选择 flat 跟 Only visible这样留意哪个图层消失并且过一会重新出现
    如下图 ,这时候 586 图层可见

    下一帧 消失 并且持续好多帧不可见

    最后 重新添加了 604图层 可知是中间丢失了导致黑屏
相关推荐
2501_944525541 小时前
Flutter for OpenHarmony 个人理财管理App实战 - 支出分析页面
android·开发语言·前端·javascript·flutter
松☆2 小时前
Dart 核心语法精讲:从空安全到流程控制(3)
android·java·开发语言
_李小白4 小时前
【Android 美颜相机】第二十三天:GPUImageDarkenBlendFilter(变暗混合滤镜)
android·数码相机
Coder个人博客6 小时前
Linux6.19-ARM64 mm ioremap子模块深入分析
linux·安全·车载系统·系统架构·系统安全·鸿蒙系统·安全架构
小天源6 小时前
银河麒麟 V10(x86_64)离线安装 MySQL 8.0
android·mysql·adb·麒麟v10
2501_915921437 小时前
傻瓜式 HTTPS 抓包,简单抓取iOS设备数据
android·网络协议·ios·小程序·https·uni-app·iphone
csj508 小时前
安卓基础之《(20)—高级控件(2)列表类视图》
android
JMchen1238 小时前
Android计算摄影实战:多帧合成、HDR+与夜景算法深度剖析
android·经验分享·数码相机·算法·移动开发·android-studio
恋猫de小郭9 小时前
Flutter 在 Android 出现随机字体裁剪?其实是图层合并时的边界计算问题
android·flutter·ios
2501_9159184110 小时前
把 iOS 性能监控融入日常开发与测试流程的做法
android·ios·小程序·https·uni-app·iphone·webview