IMS:InputManagerService小结

Posted xhBruce

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IMS:InputManagerService小结相关的知识,希望对你有一定的参考价值。

IMS:InputManagerService小结

android11-release

IMS:InputManagerService启动简要
IMS:InputReader线程获取输入事件
IMS:InputDispatcher线程分发事件
IMS:InputChannel通过socket发送Input给App
IMS:InputDispatcher 接收反馈进行下一次发送
IMS:injectInputEvent注入Input事件



InputReader 关注点

  • 通过EventHub读取BSP底层上报事件
  • InputMapper处理事件转成各种NotifyArgs
  • QueuedListener->flush通过NotifyArgs通知到InputDispatcher

InputDispatcher 关注点

  • 通知过来到mLooper->wake()唤起,中间有interceptKeyBeforeQueueinginterceptMotionBeforeQueueingInputFilter相关处理拦截
  • InputDispatcher::injectInputEvent注入事件不会经过InputReader,所以不会有touch小圆点;也没有InputFilter相关处理拦截,主要场景是无障碍辅助服务拦截后需要注入事件
  • InputChannel/InputEventReceiver一般是Activity应用添加界面时注册,说的是应用界面Input事件发送。其实,开发者模式指针位置用到 PointerEventDispatcher InputChannel\\PointerEventDispatcher;WMS中DragDrop界面拖拽功能使用drag InputChannel\\DragInputEventReceiver;还有各公司的定制特殊全局手势

以上是关于IMS:InputManagerService小结的主要内容,如果未能解决你的问题,请参考以下文章

SRCNN小结

phpMyAdmin利用小结

Terminal命令小结

Qt 的 paintEvent 函数小结

Kubernetes自动缩扩容HPA算法小结

列表排序交互方式小结