当前位置: 首页 > news >正文

多语言外贸网站制作苏州建设网站微信公众号

多语言外贸网站制作,苏州建设网站微信公众号,dw如何做网站后台,东阳建设公司网站1. 硬件层到Linux内核 设备节点#xff1a;触摸事件由内核驱动捕获#xff0c;写入/dev/input/eventX。关键结构体#xff1a;input_event#xff08;包含时间戳、类型、代码、值#xff09;。 2. Native层处理#xff08;system_server进程#xff09; 2.1 EventHub …  1. 硬件层到Linux内核 设备节点触摸事件由内核驱动捕获写入/dev/input/eventX。关键结构体input_event包含时间戳、类型、代码、值。 2. Native层处理system_server进程 2.1 EventHub 路径frameworks/native/services/inputflinger/EventHub.cpp职责通过epoll监听设备节点读取原始事件。关键函数 CPP size_t EventHub::getEvents(int timeoutMillis, RawEvent* buffer, size_t bufferSize); 2.2 InputReader 路径frameworks/native/services/inputflinger/InputReader.cpp职责将原始事件转换为KeyEvent/MotionEvent。线程模型InputReaderThread循环调用loopOnce()。关键类 InputDevice设备抽象。TouchInputMapper处理触摸事件映射。 CPP void InputReader::loopOnce(); 2.3 InputDispatcher 路径frameworks/native/services/inputflinger/InputDispatcher.cpp职责事件分发策略管理通过InputChannel发送事件到应用。关键函数 CPP void InputDispatcher::dispatchOnce(); // 主分发循环 status_t InputDispatcher::dispatchMotion(...); // 处理MotionEvent分发 数据传递InputEvent封装为InputMessage通过共享内存或Socket传递。 2.4 InputChannel与跨进程通信 IPC机制基于Socket或共享内存ashmem。关键类 InputChannel封装通信通道服务端/客户端各一个Socket。InputWindowHandle关联窗口焦点信息。 注册流程应用通过ViewRootImpl.addToDisplay()注册窗口时通过WindowManagerService创建InputChannel。 3. 应用进程处理App进程 3.1 NativeInputEventReceiver 路径frameworks/base/core/jni/android_view_InputEventReceiver.cpp职责通过Looper监听InputChannel接收事件。关键函数 CPP status_t NativeInputEventReceiver::consumeEvents(...); // JNI层事件接收 3.2 ViewRootImpl.WindowInputEventReceiver 路径frameworks/base/core/java/android/view/ViewRootImpl.java职责将事件传递给Java层。关键代码 JAVA final class WindowInputEventReceiver extends InputEventReceiver { Override public void onInputEvent(InputEvent event) { enqueueInputEvent(event, this, 0, true); } } 4. Java层事件分发 4.1 ViewRootImpl分发入口 关键函数 JAVA void deliverInputEvent(InputEvent event) { // 调用DecorView的dispatchInputEvent mView.dispatchPointerEvent(event); } 4.2 Activity/View树分发 流程 ActivitydispatchTouchEvent() → Window.superDispatchTouchEvent()。DecorViewdispatchTouchEvent() → Activity.dispatchTouchEvent()。ViewGrouponInterceptTouchEvent() → dispatchTouchEventToChildren()。ViewonTouchEvent()处理事件。 关键方法 JAVA // ViewGroup public boolean dispatchTouchEvent(MotionEvent ev); public boolean onInterceptTouchEvent(MotionEvent ev); // View public boolean onTouchEvent(MotionEvent event); 4.3 MotionEvent对象复用 优化机制通过MotionEvent.obtain()复用对象减少GC压力。 5. 关键数据结构 InputEvent基类包含设备ID、事件时间。MotionEvent存储触摸坐标、动作ACTION_DOWN/ACTION_MOVE等。InputMessage跨进程传输的二进制结构包含事件类型、窗口令牌等。 6. 超时与ANR机制 InputDispatcher等待应用finishInputEvent()确认处理超时默认5秒触发ANR。监控逻辑在InputDispatcher::dispatchEntryLocked()中设置超时检查。
http://www.w-s-a.com/news/442435/

相关文章:

  • 用wordpress建站学什么百度给企业做网站吗
  • 福建城乡建设网站做数码测评的网站
  • 东海县建设局网站wordpress 好用的主题
  • 网站图片设计制作制作一个门户网站需要多少钱
  • 虚拟币交易网站源码自己给网站做支付接口
  • 免费的seo网站在线 crm
  • 绍兴市高速公路建设指挥部网站网站主页和子页风格如何统一
  • 获取网站状态网站租金可以做办公费吗
  • 网站开发执行什么标准号wordpress主题 表白
  • 杭州网站推广与优化凡科网是免费的吗
  • 公司网站的重要性门户网站推广介绍方案
  • 做金融网站看那些素材江门网红打卡景点蓬江区
  • 饮食网站模板建网站中企动力优
  • 郑州 制造 网站东平企业建站公司
  • 天津设计师网站大全展示型网站搭建
  • 南宁网站建设 传导网站开发平台开发公司
  • 网站建设好处上海建设工程网站
  • 黑河哈尔滨网站建设太原网站制作定制开发
  • 建站做网站香河住房与建设局网站
  • 如何制造一个网站域名分类网站
  • 解析视频的网站怎么做凡科网快图
  • 企业网站优化问题接单app平台有哪些
  • 怎么做网站后缀识别符号才不会变什么是电子商务网站建设
  • 中山 五金 骏域网站建设专家专门用来制作网页的软件是什么
  • 怎么做刷东西的网站数据分析软件工具有哪些
  • 官方购物网站正品交易网站域名
  • lol网站建设seo 网站太小
  • 网站建设销售职责手机网站制作软件
  • 福州百度企业网站seo如何在电脑上登录wordpress
  • 开发区全力做好网站建设网络广告营销成功案例