240 发简信
IP属地:广东
  • 120
  • 120
  • 120
  • 120
  • 120
  • hello, Android P 上大概是这样子的:
    发送端: 运行在SystemServer进程的 InputTransport.cpp : InputChannel::sendMessage(const InputMessage* msg)将事件写入socket一端
    接收端:运行在应用进程的 android_view_InputEventReceiver.cpp 监听着socket另一端,当socket有事件写入后,NativeInputEventReceiver::handleEvent(int receiveFd, int events, void* data) -> NativeInputEventReceiver::consumeEvents -> env->CallVoidMethod(receiverObj.get(),
    gInputEventReceiverClassInfo.dispatchInputEvent, seq, inputEventObj,
    displayId); -> InputEventReceiver.java.dispatchInputEvent -> ViewRootImpl.WindowInputEventReceiver.onInputEvent
    然后在 ViewRootImpl 开启责任链模式事件派发,最后交由View树处理

    Android GPU呈现模式原理及卡顿掉帧浅析

    APP开发中,卡顿绝对优化的大头,Google为了帮助开发者更好的定位问题,提供了不少工具,如Systrace、GPU呈现模式分析工具、Android Studio自带的CP...