5.event分发到上层后的处理过程
2021-02-04 17:09:55 2 举报
event分发到上层后的处理过程
作者其他创作
大纲/内容
nativeFinishInputEvent
InputTransport.cpp
获取到inputevent
finishInputEvent(
InputConsumer::consume
InputChannel::receiveMessage
WindowInputEventReceiver
sendUnchainedFinishedSignal
CallVoidMethod
handleEvent
这里的监听时通过WindowInputEventReceiver来设置的,所有调用时优先调用自身的onInputEvent方法
finishInputEvent
QueuedInputEvent
UI线程监听socket客户端,当inputdispatcher发送消息时,UI主线程会回调handleEvent进行处理
dispatchInputEvent
接下来就是inputstage的责任制调用,流程较复杂,先放着先,最终通过该机制将event发送到需要处理的窗口
InputStage机制
mInputConsumer.sendFinishedSignal
当event处理完成时,会调用finishInputEvent来做一个消息回发
发送消息到inputDispatcher告知
onInputEvent
consumeEvents
enqueueInputEvent
mChannel->sendMessage
doProcessInputEvents
android_view_InputEventReceiver.cpp
ViewRootImpl.java
deliverInputEvent
stage.deliver
InputEventReceiver.java
0 条评论
回复 删除
下一页