Android基础知识
文章平均质量分 80
Android基础知识
一切皆是定数
这个作者很懒,什么都没留下…
展开
-
Messenger——Messenger使用和原理
Messenger是一种轻量级的IPC通信方案,对AIDL进行了封装,可以在不同进程中传递Message对象。原创 2022-10-10 19:37:06 · 537 阅读 · 0 评论 -
Handler机制(二)——Message池和其他小问题(待更新)
Message创建的时候除了new Message()之外,还有两种方式首先看第一个,是通过Handler对象来调用获取Message对象。可以看到obtainMessage()方法有多个重载,除了空参外,还可以传入一些参数,这些参数都是初始化Message对象使用的,是Message类中的属性。无一例外,他们都是调用的Message中的obtain方法,只是根据传入参数个数的不同,调用的是obtain方法的多个重载方法。原创 2022-10-07 16:19:35 · 555 阅读 · 0 评论 -
Handler机制(一)——Handler运行流程分析
Handler运行机制原创 2022-10-07 16:15:47 · 2473 阅读 · 0 评论 -
Android输入系统(三)——InputReader的加工类型和InputDispatcher的分发过程(基于Android 13)
InputReader具有多种加工类型,由上面的InputReader的执行流程可知,对于按键事件,InputReader会将按键信息封装成NotifyKeyArgs对象,并交给KeyboardInputMapper进行处理,最后调用notifyKey函数唤醒InputDispatcher所在的InputThread线程。如下图所示:其中用于保存按键事件信息的结构体NotifyKeyArgs继承自NotifyArgs。原创 2022-09-20 09:08:47 · 832 阅读 · 0 评论 -
Android输入系统(二)——IMS启动过程(基于Android 13)
IMS的启动还是从SystemServer的startOtherServices方法中启动的。这里调用InputManagerService的start方法。注释1处调用native的start方法,注释2处将自身添加到watchdog中进行监测。这里获取native中的InputManager对象,并调用其中的start方法。注释1处调用了InputDispatcher的start函数,注释2处调用了InputReader的start函数。原创 2022-09-20 09:08:04 · 1125 阅读 · 1 评论 -
Android输入系统(一)——初始化阶段(基于Android 13)
输入系统大致可分为三部分,输入系统部分、WMS部分和View处理部分。用户输入需要通过输入子系统将原始信息转化为事件交由InputManagerService进行处理加工并找到合适的Window,将事件分发到对应的Window。原创 2022-09-20 09:00:05 · 997 阅读 · 1 评论 -
Android布局中的一些问题
布局文件中的RAndroid开发中,常用到R去引用布局文件中的layout或者其他的组件,那么R到底是什么呢?在之前的Android Studio版本中,会在output中生成一个R.Java文件,这个Java文件中将Layout、Button等组件的id定义成一个public static final int类型的成员变量。只是后面AGP在性能方面的优化,没有R.java文件的生成,只有一个R.txt文件供开发者使用。文件位置使用时在使用时显示public static final int原创 2022-04-17 20:43:20 · 217 阅读 · 0 评论 -
Android快捷键
快捷键功能Ctrl+F单个文件内查找Ctrl+R单个文件内替换变量Shift+Enter另起一行Ctrl+D复制本行到下一行Ctrl+F12查看该类中的方法列表Ctrl+Alt+T给选中的代码块添加if/else,try/catch块等Ctrl+Alt+L格式化代码Ctrl+Alt+V将选中的生成一个局部变量Ctrl+Alt+H查看该方法的调用Ctrl+Alt+O自动导包和删除无用的包Ctrl+/单行注释,...原创 2022-04-17 10:52:04 · 683 阅读 · 0 评论