Android10版本android:windowIsTranslucent=true属性异常

在Android开发中,设置Activity跳转的出入场动画时,为了解决跳转闪黑屏问题,总会增加android:windowIsTranslucent=true属性,但目前这个属性在Android10上存在以下问题。

一、问题背景:
在Android10中,假定三个Activity:A、B、C,B设置android:windowIsTranslucent=true,在A的onResume中finish掉B和C

二、问题现象:
从A->B->C返回键到B 再B->C,会直接回到A

三、问题原因:
在第二次进入C之后,会回调A的onResume

四、排查过程:
1.查看日志,并未发现有崩溃,看到有onDestroy的打印,且有activity正常切换出场动画,认为是正常finish,排除crash
2.查看activity C代码的逻辑,发现并未有主动finish的情况
3.排查代码中启动activity A的情况,加断点调试,并没有主动去打开activity A,但发现会进入到activity A的onResume回调
4.排查版本,发现是由某一版本引发,查看代码提交记录,排查提交内容,在删除掉android:windowIsTranslucent=true后,问题消失,初步确认是由该属性引起。
5.自己写demo验证,再次确认是由此问题引起
6.确认多个厂商的手机,基本可以确认为Android10的共性问题

五、问题解决:
1.规避:去掉android:windowIsTranslucent=true属性,优化动画

六、问题根因:
目前没有排查Android10在这个版本上更改了什么内容,待后续补充或者有其他了解的同学请留言

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 7,227评论 0 17
  • 介绍自己负责的部分,如何实现的。 自定义view viewGroup activity的启动流程 事件传递及滑动冲...
    东经315度阅读 1,343评论 1 4
  • 内容来之网络,因为看到布局太乱,重新整理下,并对答案做了一些修改。如果有侵权,请给我私信。谢谢。 1.下列哪些语句...
    蝴蝶之梦天使阅读 1,694评论 2 22
  • Java基础 什么是重载,什么是重写?有什么区别?重载(Overload):(1)Overloading是一个类中...
    勤息嘻嘻嘻阅读 694评论 0 1
  • 为了面试,为了高工资,废话不多说,不定期更新。 1. Activity正常和异常情况下的生命周期分析。 Activ...
    24K男阅读 880评论 0 0

友情链接更多精彩内容