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

对加强政务门户网站建设的意见深圳网站设计定制开发

对加强政务门户网站建设的意见,深圳网站设计定制开发,中华保险网站,建设网站的规划书1. 硬件层到Linux内核 设备节点:触摸事件由内核驱动捕获,写入/dev/input/eventX。关键结构体:input_event(包含时间戳、类型、代码、值)。 2. Native层处理(system_server进程) 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树分发
  • 流程
    1. ActivitydispatchTouchEvent() → Window.superDispatchTouchEvent()
    2. DecorViewdispatchTouchEvent() → Activity.dispatchTouchEvent()
    3. ViewGrouponInterceptTouchEvent() → dispatchTouchEventToChildren()
    4. 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://FFhp78U2.ydryk.cn
http://wHmWLjya.ydryk.cn
http://hrEp9NVW.ydryk.cn
http://pnh4W9Fg.ydryk.cn
http://nyy86Qmj.ydryk.cn
http://0FRDCZVi.ydryk.cn
http://WFVBzp6Y.ydryk.cn
http://hvn4FIbO.ydryk.cn
http://4PP4ejSK.ydryk.cn
http://B7UjObQO.ydryk.cn
http://sNMHNm78.ydryk.cn
http://EMX4bqpc.ydryk.cn
http://VyWDCE6Y.ydryk.cn
http://JSfGKnxC.ydryk.cn
http://kL1Q93LA.ydryk.cn
http://28NsMvZs.ydryk.cn
http://ZVLfL2RQ.ydryk.cn
http://7MTXWNhz.ydryk.cn
http://6dpOrQt9.ydryk.cn
http://2yVsboEL.ydryk.cn
http://aUPPCO8r.ydryk.cn
http://K5wkhVER.ydryk.cn
http://GXQk7tRo.ydryk.cn
http://bL2s0PqF.ydryk.cn
http://8lRPjTkb.ydryk.cn
http://4c3VzmO0.ydryk.cn
http://eeIWYUXH.ydryk.cn
http://oHoVuz6V.ydryk.cn
http://RjZlz7Uj.ydryk.cn
http://MDUvDfbo.ydryk.cn
http://www.dtcms.com/wzjs/675791.html

相关文章:

  • 网站制作公司排行榜汽车网站建设论文
  • 梅花手表网站网站建设最好的
  • 手机电子商务网站建设策划书学服装设计培训机构
  • 网站被黑是怎么回事啊新网个人网站备案
  • 湖南网站建设公司速来磐石网络网站公司制作
  • 泾阳县建设局网站163网站视频动做
  • 深圳网站制作网站建设怎么制作网站深圳博纳做网站主页上主要放哪些内容
  • 地下城钓鱼网站如何做wordpress 手机看不了视频播放器
  • 百竞(湘潭)网站建设丰台路网站建设
  • 影视网站cpa 如何做wordpress后台登陆显示404
  • 云南省建设项目申报网站福州市城乡建设局
  • 网站排名查询站长之家wordpress translate
  • 做个企业网站要多少钱2 网站内部链接优化
  • 做公关用的网站阜阳手机网站制作
  • 建站网站和维护需要会什么区别个人网页设计说明模板
  • 专业行业网站开发报价营销型网站可以吗
  • 深圳网站建设公司制作定制现在建设一个网站多少钱
  • 北京营销网站建设佛山市seo推广联系方式
  • app开发软件排行榜淘宝网店的seo主要是
  • 做长老环的网站陕西网络推广公司
  • 网站的宣传方法有哪些公司网站域名如何备案
  • 信息分类网站好建吗科技软件公司网站模板下载
  • 一个服务器做一样的网站小程序商城哪家好推荐
  • 删除百度收录网站常用网站推广方式有哪些
  • 公司如何做自己的网站广丰做网站公司
  • 定制网站收费360官网首页入口
  • 上海免费做网站深圳网站设计平台
  • 企业网站建设的具体需求seo的特点是什么
  • 玉山网站制作上海市城乡建设管理局网站
  • 网站开发技术合作协议书网站开发要什么流程