WMS之黑屏白屏分析

保留现场,首先截图(按键、手势、adb),如果截图正常,说明系统正常,需要排查显示的异常,是否窗口异常、是否输入异常、是否系统关键进程状态异常。否则,尝试adb截图,如果adb正常,但是截图异常,则SF异常。

adb 截图

adb shell /system/bin/screencap -p data/screen.png
adb pull data/screen.png

adb 过滤日志关键字

adb shell
logcat -c && logcat|grep "sYang" --color

定屏

流程图

添加链接描述

白屏

黑屏

添加链接描述

抓黑白屏现场方法:

按照以下步骤复抓(在问题复现时截图)
1.
常规-动态log
Activity 相关:life visibility task stack other
Window 相关:window fresh anim screen apptoken wallpaper config layer local
surfaceflinger 相关:sf all
2. 打开录屏
3. 抓取,重启手机
4. 开始复现问题,复现之后
截图
运行 adb shell “dumpsys window -a” > window.txt
adb shell “dumpsys SurfaceFlinger” > sf.txt

黑屏问题分类

  1. ANR导致的黑屏
  2. 纹理Error导致的黑屏
  3. 覆盖背景等layer导致的黑屏
  4. GPU问题导致的黑屏
  5. 应用自身问题导致的黑屏

黑屏问题分析流程

  1. 如果有现场,根据图一按顺序排查,先看截屏文件是否有黑屏,其次看窗口是否冻结,再看是否输入异常,最后看系统关键进程system server,zygote,init,surfaceflinger是否正常
  2. 用IrfanView查看log中的raw数据查看原始数据是否有黑屏,log@stop@2021-02-21\assistlog\sf\raw\20220210_135212,如果为黑说明游戏界面本身就是黑的,游戏自身没有出帧,三方问题
  3. 查看dump的layer,看是否绘图异常,是则转图形服务&GPU
  4. 查看是否发生ANR,是转稳定性
  5. 查看log,看是否应用自身activity生命周期调用超时,是则转三方应用

黑屏典型问题

你可能感兴趣的:(安卓系统开发,android)