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图层 可知是中间丢失了导致黑屏
相关推荐
还鮟7 分钟前
CTF Web的数组巧用
android
小蜜蜂嗡嗡1 小时前
Android Studio flutter项目运行、打包时间太长
android·flutter·android studio
aqi002 小时前
FFmpeg开发笔记(七十一)使用国产的QPlayer2实现双播放器观看视频
android·ffmpeg·音视频·流媒体
zhangphil3 小时前
Android理解onTrimMemory中ComponentCallbacks2的内存警戒水位线值
android
你过来啊你3 小时前
Android View的绘制原理详解
android
车载测试工程师5 小时前
车载以太网网络测试-29【SOME/IP-SD】-SD状态机
网络·网络协议·tcp/ip·车载系统·php
移动开发者1号6 小时前
使用 Android App Bundle 极致压缩应用体积
android·kotlin
移动开发者1号6 小时前
构建高可用线上性能监控体系:从原理到实战
android·kotlin
ii_best11 小时前
按键精灵支持安卓14、15系统,兼容64位环境开发辅助工具
android
美狐美颜sdk11 小时前
跨平台直播美颜SDK集成实录:Android/iOS如何适配贴纸功能
android·人工智能·ios·架构·音视频·美颜sdk·第三方美颜sdk