播完关机动画会闪现一下动画前的界面的问题分析

问题点

在播放完关机动画的时候会出现一个动画之前的界面,比如我在锁屏界面长按power键关机,等关机动画播放完后会闪现一下刚才的锁屏界面,如果是在home界面或是某个应用界面关机,等播完动画之后也会闪现一下之前的home界面或那个应用界面,而且问题必现。

 

分析:

该问题在之前负责开关机模块的同事那里已经分析过,后经排查发现和移植的圆角功能有关,而圆角功能是我这边移植的,所以问题转到我这了。

圆角的整个feature是有开关控制的,一个是上层的prop开关persist.tcf.screen.corner,一个是native层的宏开关TINNO_CUSTOM_FEATURE_SCREEN_CAPTURE_EXCLUDE_SCREEN_CORNER,拿到问题之后我做了个初步验证:

1.   通过adb命令将persist.tcf.screen.corner设置为0,也就是关掉开关。重启手机后圆角的效果没有了,但是问题依旧存在。

2.   将TINNO_CUSTOM_FEATURE_SCREEN_CAPTURE_EXCLUDE_SCREEN_CORNER宏去掉,编译验证,问题消失。

由此可以得出结论是由于TINNO_CUSTOM_FEATURE_SCREEN_CAPTURE_EXCLUDE_SCREEN_CORNER这个宏定义导致的问题。而这个宏的作用是什么呢?其实就是处理截屏的。就是说在截屏的时候我们需要将圆角去掉,否则截出来的图片会有明显的四个圆角,不好看。

 

 

 

 

 

 

 

 

代码分析:

再看下对应的代码:

android/frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp:

#ifdef TINNO_CUSTOM_FEATURE_SCREEN_CAPTURE_EXCLUDE_SCREEN_CORNER

    {

        // this value fromandroid.view.WindowManager.LayoutParams.TYPE_SCREEN_CORNER -FIRST_SYSTEM_WINDOW * 10000   

        // some other app also needcaptureScreen for some Animation

        //ALOGE("captureScreenImplLockedreqWi

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值