文章目录
背景
本文记录了工作中遇到的Andorid 系统层级 ANR 的问题排查及解决思路。
具体问题:在 VR一体机设备中遇到了第三方应用在视频播放时 当高标清切换时 出现了【死机冻屏】 的问题。
我们首先了解一下卡顿的定义与分类。
卡顿的定义:
FPS:Frame Per Second, 即每秒显示的帧数。
目前手机默认的 FPS 为 60, 也就是屏幕的刷新率是 60 HZ.即每秒传输 60帧, 则 1000/60 ms= 16.7ms 刷新一次屏幕。 FPS 通常是一个波动的值。
FPS 是我们分析程序是否出现了卡顿的指标。
如手机的刷新率是 60 HZ,如果由于某种原因卡顿导致 FPS = 50, 即 1 秒 内连续丢失 10帧,用户的直观感觉就是卡了一下。
卡顿分类:
-
微卡顿
如果两帧 之间介于 100 ~ 200ms 之间,这种卡顿不容易察觉,如列表的滑动场景。
-
卡顿
如果两帧之间超过 200 ms,但是低于 5s,则是比较严重的卡顿。需要进行专项改进。
-
ANR
程序无响应。这是 google 给出的标准&#x