(五) 下篇 Android 性能优化 Systrace文件分析

为什么会卡顿丢帧?

Android系统每16ms发出VSYNC信号,触发GPU对UI渲染,如果你的耗时是20ms,系统在得到VSYNC信号的时候由于还没准备好,就无法进行更新任何内容,那么用户在32ms内看到的是同一帧画面,就丢帧了,会有卡顿现象。

实操体验

(1)实操环境

Android Studio 4.0  Gradle version 6.1.1  Android API version 30

(2)示例代码

public void onFramesLossMonitor(View view) {
Log.d(TAG, "onFramesLossMonitor: ");
startAnimator();
}

private void startAnimator() {
Log.d(TAG, "startAnimator: ");
ValueAnimator valueAnimator = ValueAnimator.ofFloat(0, 1f);
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
mMonitorBgView.setAlpha((float) animation.getAnimatedValue());
monitorDoSomeThings();
}
});
value

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值