Android 系统事件的帧栈信息打印
2023-09-14 09:04:19 时间
一 编写测试代码,debug查看帧栈信息
测试代码:
View v = ViewUtil.findView(this, R.id.bt1);
v.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return false;
}
});
将断点打在return false这行,点击debug,然后进入调试模式。查看该事件的帧栈信息,如下截图:
ZygoteInit是用来初始化当前App进程,不用关心。Method是用来反射获取ActivityThread,而进程中所有对Activity的操作都是调用ActivityThread中的相关方法。Looper#loop是在ActivityThread的main方法中被调用,于是Looper便加入无限循环地获取Message。ActivityThread和Looper会一直运行到App进程退出才停止。这些都不是本文所关心的,继续往上看。
在Looper循环获取Message时,调用了MessageQueue#nativePollOnce方法。这个native方法又调用了InputEventReceiver#dispathInputEvent方法,从这里framework层便开始了touch事件的传递。</
相关文章
- Android开发之PullToRefresh的Click点击事件的监听实现长按删除Item
- 99、Android中定时执行任务的3种实现方法
- Android View的事件分发
- 【ANDROID游戏开发之一】设置全屏以及绘画简单的图形
- Android事件总线分发库EventBus3.0的简单讲解与实践
- 重装Eclipse、离线安装ADT、Android SDK
- Android音视频开发学习路线+项目实战+源码解析(WebRTC Native 源码、X264源码、FFmpeg、Opus源码.....)
- Android案例手册 - 定位点圆形水波纹和椭圆水波纹
- 熬夜再战Android从青铜到王者-几个适配方案【建议收藏】
- Android CheckBox修改选中状态框内部颜色及样式
- Android 替换 IMKit 默认的会话列表
- Android service类如何弹出Dialog
- Android模拟、实现、触发系统按键事件的方法
- 王立平--android事件监听的3种方式
- Android 手势&触摸事件 MotionEvent
- Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用
- Android 手势&触摸事件
- Android开发系列之button事件的4种写法
- 用短信传播病毒:最新Android手机勒索软件Koler
- Android开发 ListView的item点击事件出现引导(带箭头和描述)效果
- Android kotlin使用RecyclerView自定义adapter实例和点击事件