Dropping event due to window no focus/cancelling event due to no window

項(xiàng)目突然發(fā)現(xiàn)有個(gè)偶現(xiàn)的bug,就是偶爾會(huì)回到前臺(tái)時(shí),觸摸啥反應(yīng)都沒有,只能殺掉應(yīng)用重啟.因?yàn)閷?shí)在是找不出問題,復(fù)現(xiàn)率又很低,就暫時(shí)沒管.

稍微空閑時(shí),看了下日志,發(fā)現(xiàn)觸摸沒反應(yīng)時(shí),會(huì)打印這樣的:

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,進(jìn)入到 ViewRootImpl,看了下也不知道怎么解決.

搜了下解答看到有說 建議復(fù)寫回退鍵的 onKeyDown ()??? 換成 onkeyUp()...

有說是Dialog相關(guān)屬性 dissmiss問題

總之沒有一個(gè)符合本項(xiàng)目條件的,無奈.雖然印象中,是項(xiàng)目用了系統(tǒng)的共享元素專場動(dòng)畫以后才開始出現(xiàn)這個(gè)問題的,但是始終不知道是哪里的原因.忙了又?jǐn)R置.

如此幾番.終于再今天在Stack Overflow 上看到了個(gè) animationEnd 什么的,也沒解釋全,琢磨了下,的確,這個(gè)問題確實(shí)是自從主頁跳轉(zhuǎn)使用了系統(tǒng)轉(zhuǎn)場動(dòng)畫大概這樣的

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);

用了共享元素轉(zhuǎn)場動(dòng)畫之后,才開始偶現(xiàn)的.

那么問題來了,如果是這個(gè)原因,那一定能復(fù)現(xiàn)的,因?yàn)橐郧安恢罆r(shí),只能碰運(yùn)氣.

然后試了下,打開下一個(gè)頁面,然后再后退,后退執(zhí)行動(dòng)畫,再共享元素沒完全復(fù)位,也就是說動(dòng)畫沒執(zhí)行完的時(shí)候,給他home鍵回到桌面,或者鎖屏.

再次打開應(yīng)用/亮屏,OK!!!!!? 問題復(fù)現(xiàn)了!!!? 激動(dòng),這么久,原因終于找到了.那么下一步不用多說了. hhhhhhh

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容