美文网首页
android ANR

android ANR

作者: 莫库施勒 | 来源:发表于2019-06-21 08:05 被阅读0次

http://gityuan.com/2019/04/06/android-anr/

// TODO


超时时长

Service 是通过Handler 添加超时Message, 执行完成后会remove掉,如果没有remove,就会报ANR
Service 报告流程

ActiveServices.realStartServiceLocked()

bumpServiceExecutingLocked()

scheduleServiceTimeoutLocked()

ActiveServices.serviceTimeout()

mAm.mAppErrors.appNotResponding()
Input ANR
InputDispatcher::dispatchOnceInnerLocked()

findFocusedWindowTargetsLocked()

checkWindowReadyForMoreInputLocked() // 检查窗口是否有能力再接收新的输入事件

InputDispatcher::handleTargetsNotReadyLocked() // 事件5s之内还没有分发完毕,则调用

InputDispatcher::onANRLocked()

NativeInputManager.notifyANR()

InputManagerService.notifyANR()

InputMonitor.notifyANR()

AMS.inputDispatchingTimeOut()
AMS.UiHandler.sendMessage()

相关文章

网友评论

      本文标题:android ANR

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