Android Studio中Systrace报错且trace.html视图为空的问题求助
解决Systrace生成的trace.html在Chrome中显示为空的问题
我之前排查Android性能Bug时也踩过这个坑,给你整理几个亲测有效的排查方向:
第一步:先确认trace.html文件本身是否有效
- 先看文件大小:如果文件只有几KB甚至更小,说明Systrace根本没捕获到任何数据。这种情况得重新跑追踪,注意这几点:
- 确保测试设备已开启USB调试,并且Android Studio能正常识别(可以通过
adb devices命令确认设备列表) - 追踪时一定要选中你要排查的APP进程,别误选系统进程或空进程
- 追踪过程中手动操作APP,触发你要排查的性能场景(比如滑动页面、启动页面),别啥都不做就停止追踪
- 确保测试设备已开启USB调试,并且Android Studio能正常识别(可以通过
- 如果文件大小正常(几十KB以上),大概率是Chrome加载的问题,试试这些操作:
- 用Chrome的无痕模式打开文件,避免浏览器插件、缓存干扰加载
- 检查Chrome版本:Systrace对Chrome版本有要求,尽量用90以上的稳定版,太老的版本可能不兼容新的trace格式
- 手动导入文件:打开Chrome后输入
chrome://tracing/,点击左上角的「Load」按钮,选择你的trace.html文件,别直接双击打开
第二步:检查Systrace的运行配置
- 如果你用命令行运行
systrace,确保参数没写错。比如要捕获常用的性能类别,命令可以写成:
别只跑空命令,那样不会捕获任何数据python systrace.py --time=10 -o trace.html gfx input view wm am sm audio video - 如果是用Android Studio Profiler里的Systrace功能,试试切换到命令行方式重新生成,有时候Studio的集成工具会出现小bug导致数据丢失
第三步:排查设备和系统的兼容性问题
- 对于Android 10及以上的设备,Systrace需要额外权限,跑追踪时如果设备弹出权限请求,一定要点击允许
- 如果用的是模拟器,建议换成真机测试,模拟器有时候会因为虚拟硬件限制导致追踪数据丢失
第四步:排除文件损坏或路径问题
- 重新生成trace.html文件,有时候生成过程中设备断开连接、Studio卡顿都会导致文件损坏
- 把trace.html复制到本地硬盘的短路径下(比如
D:\trace.html),避免路径中包含中文、特殊字符,这些可能会导致Chrome加载失败
内容的提问来源于stack exchange,提问作者Stelios Papamichail




