• 显示杂谈(二)winscope的使用


    WinScope 提供了用于在窗口转换期间和转换后记录和分析 WindowManager 状态和 SurfaceFlinger 状态的基础架构和工具。WinScope 将所有相关的系统服务状态记录在一个跟踪文件中,您可以使用该文件重现并逐步查看转换。

    抓winscope相关文件:

    快捷键

    通过快捷设置记录跟踪情况,请执行以下操作:

    启用开发者选项。

    依次转到开发者选项 > 快捷设置开发者图块。

    启用 WinScope 跟踪。

    打开快捷设置。

    点按 Winscope 跟踪以启用跟踪。

    在设备上执行窗口转换。

    窗口转换完成后,打开快捷设置,然后点按 Winscope 跟踪记录以停用跟踪记录。

    跟踪记录会被写入 /data/misc/wmtrace/wm_trace.winscope 和 /data/misc/wmtrace/layers_trace.winscope,同时还会包含在错误报告中。

    通过adb pull /data/misc/wmtrace 拉到本地。
    在这里插入图片描述

    adb

    WindowManager 跟踪记录
    启用跟踪:

    adb shell cmd window tracing start
    
    • 1

    停用跟踪:

    adb shell cmd window tracing stop
    
    • 1

    获取跟踪文件:

    adb pull /data/misc/wmtrace/wm_trace.winscope wm_trace.winscope
    
    • 1

    SurfaceFlinger 跟踪

    启用跟踪:

    adb shell su root service call SurfaceFlinger 1025 i32 1
    
    • 1

    停用跟踪

    adb shell su root service call SurfaceFlinger 1025 i32 0
    
    • 1

    获取跟踪文件

    adb pull /data/misc/wmtrace/layers_trace.winscope layers_trace.winscope
    
    • 1

    生成状态转储文件
    WinScope 可以从错误报告中读取 WindowManager 状态和 SurfaceFlinger 状态的快照。错误报告会将状态信息以单独的 proto 文件的形式存储在 proto 文件夹中。如需使用 adb 生成状态转储文件,请运行以下命令。

    WindowManager

    adb exec-out dumpsys window --proto > window_dump.winscope
    
    • 1

    SurfaceFlinger

    adb exec-out dumpsys SurfaceFlinger --proto > sf_dump.winscope
    
    • 1

    使用web进行分析

    通常使用prebuilts/misc/common/winscope下的winscope.html
    在这里插入图片描述
    在这里插入图片描述
    点击Add FILE

    在这里插入图片描述
    在这里插入图片描述

    结合上篇文章的Demo,对window和surfaceflinger来进行分析,
    https://blog.csdn.net/u013574207/article/details/133921524?spm=1001.2014.3001.5502

    能看到有window和surfaceflinger两部分内容
    在这里插入图片描述
    选取surfaceflinger来进行分析,能看到写的demo浮窗相对应的内容,并可以看到父节点。
    在这里插入图片描述
    通过移动时间戳可以来看该view的移动和对应的事件
    在这里插入图片描述

  • 相关阅读:
    用Python实现链式调用
    70、window11+visual studio2019+共享内存进行数据传输
    Apple 注销账户 Revoke Token
    shell_40.Linux特殊参数变量
    使用paddle ernie预训练模型进行中文文本分类代码
    webpack总结16--webpack入门学习
    百度地图开发入门(6):3D建筑
    重上吹麻滩——段芝堂创始人翟立冬游记
    docker阅读笔记
    inno Setup 打包Java exe可执行文件和MySQL数据库,无需额外配置实现一键傻瓜式安装
  • 原文地址:https://blog.csdn.net/u013574207/article/details/133934258