美文网首页
Dropping event due to window no

Dropping event due to window no

作者: 奥创没电了 | 来源:发表于2019-06-04 21:50 被阅读0次

项目突然发现有个偶现的bug,就是偶尔会回到前台时,触摸啥反应都没有,只能杀掉应用重启.因为实在是找不出问题,复现率又很低,就暂时没管.

稍微空闲时,看了下日志,发现触摸没反应时,会打印这样的:

W/ViewRootImpl:dropping event due to no window focus:

KeyEvent { action=ACTION_DOWN, keyCode=KEYCODE_BACK, scanCode=158, metaState=0,

flags=0x8, repeatCount=0, eventTime=1057872, downTime=1057872, deviceId=4,

displayId=0, source=0x101 }........etc....

cancelling event due to no window ......etc .....

以我的水平,read the fucking source,进入到 ViewRootImpl,看了下也不知道怎么解决.

搜了下解答看到有说 建议复写回退键的 onKeyDown ()    换成 onkeyUp()...

有说是Dialog相关属性 dissmiss问题

总之没有一个符合本项目条件的,无奈.虽然印象中,是项目用了系统的共享元素专场动画以后才开始出现这个问题的,但是始终不知道是哪里的原因.忙了又搁置.

如此几番.终于再今天在Stack Overflow 上看到了个 animationEnd 什么的,也没解释全,琢磨了下,的确,这个问题确实是自从主页跳转使用了系统转场动画大概这样的

Intent intent = new Intent(ShareAnimatorActivity.this,SecondShareAnimActivity.class);

                Bundle bundle = ActivityOptionsCompat.makeSceneTransitionAnimation(ShareAnimatorActivity.this,shareImg,getString(R.string.share_pic_str)).toBundle();

                startActivity(intent,bundle);

用了共享元素转场动画之后,才开始偶现的.

那么问题来了,如果是这个原因,那一定能复现的,因为以前不知道时,只能碰运气.

然后试了下,打开下一个页面,然后再后退,后退执行动画,再共享元素没完全复位,也就是说动画没执行完的时候,给他home键回到桌面,或者锁屏.

再次打开应用/亮屏,OK!!!!!  问题复现了!!!  激动,这么久,原因终于找到了.那么下一步不用多说了. hhhhhhh

相关文章

网友评论

      本文标题:Dropping event due to window no

      本文链接:https://www.haomeiwen.com/subject/khfdxctx.html