4、AndroidIMS 原理 解析之processEvent

继上一篇文章的input channel Android IMS原理解析,上一篇文章提到当事件来临时,触发NativeInputEventReceiver的回调会接着调用Java层InputEventReceiver的方法。我们来看看Java层的事件处理:事件已经发送到对应的窗口,然后事件处理流程,从onInputEvent()的分析开始:在onInputEvent()内部会执行enqueueInputEvent(),传入this、InputEvent等参数。接下来,我们来看看enQueuedInputEvent():这个方法在内部执行三个任务:1。通过获取QueuedInputEvent()获取queueInputEvent的一个实例,封装InputEvent,类似于消息处理;2.对pendingputeventtail和pendingputeventtail进行相关处理,将在下一次事件处理中使用;3.因为这个过程直接就是tr。

5、Android源码 解析RPC系列(一

看了几天Binder,觉得有必要写个博客,记录一下学习成果。Binder是Android中比较全面的一块知识,目前的理解仅限于JAVA层。首先,Binder是干什么用的?跨进程通信就不用说了,依赖于它,操作系统的不同进程之间不共享数据。对于每个进程,它天真地认为自己拥有整个系统,完全意识不到其他进程的存在,进程之间的通信需要某种系统机制来完成。Android的整个系统架构中,采用了大量的C/S架构思想,所以Binder的作用非常重要,但是为什么这个机制是Binder呢?

6、AndroidIMS 原理 解析之dispatchEvent

上一篇文章整体介绍了事件处理的过程。本文将详细介绍Android IMS原理解析的processEvent。如前所述,InputDispatcher通过InputChannel将touch事件发送到目标窗口的WindowInputEventReceiver的dispatchInputEvent(),然后经过一系列调用,最终会调用到ViewPostImeInputStage的processkeyEvent()处理keyEvent,调用processPointerEvent()处理MotionEvent。接下来我们来看看对应事件的处理逻辑:这个方法主要处理返回、菜单、主页等关键事件。本文主要分析mView.dispatchKeyEvent(事件),分析活动和返回键。MView对应的是活动的deco view,看看deco view里面dispatchKeyEvent()的方法:mWindow对应的是Acti。

7、Android-ARouter 原理 解析

ARouter使用APT(AnnotationProcessingTool)注释处理器,通过给相应的类添加注释,在编译器中动态生成相应的路由表文件。这里分析一下Router的RouteProcessor。在Router的使用配置中,您需要配置基本库,然后为每个组件配置annotationProcessor。如果使用kotlin,那么使用kapt对每个组件进行如下内容的配置:这个配置主要是通过这个annotationProcessorOptions获得key为AROUTER_MODULE_NAME的值,这个值实际上是模块的名称,这个函数要命名为根文件。因为一个模块中可能有多个组,而多个组属于一个根,而Router的做法是把一个模块作为一个根。

8、Android-ViewModel 原理 解析

这四种方法中,唯一的区别就是是否通过工厂。当没有自定义工厂时,将传入默认工厂。我们来看一下ViewModelProvider构造函数的源代码和其中一些方法的源代码:VieModelStore对象需要在ViewModelProvider中传递。这个对象是由ViewModelStoreOwner提供的,而在Activity或者Fragment中,是由Activity和Fragment提供的,因为ViewModelStoreOwner是一个接口,AppCompatActivity的祖辈ComponentActivity和Fragment都实现了ViewModelStoreOwner接口。

9、Android-DataBinding 原理分析

在MainActivity中,调用以下方法:app \ build \ intermediates \ data _ binding _ layout _ info _ type _ merge \ debug \ out。可以看到,这里定义了多个目标标签,这些目标的定义实际上就是定义相应的标签。将标签与activity_main.xml布局中相应视图的id对应起来,数据绑定更改后的布局将会有更多的标签。

10、Android-LiveData 原理 解析

LiveData是一个具有生命周期意识的可观察数据保存类。LiveData可以确保屏幕上显示的内容和数据始终同步,在项目中,LiveData一般存储在ViewModel中,以保证app配置发生变化时数据不会丢失。其实使用过程很简单,就是实现一个自定义的观察者,然后在活动或者片段中获取ViewModel,通过ViewModel获取对应的LiveData,然后在LiveData中添加一个观察者监视器,监视LiveData中的数据变化,在观察者的onChanged中使用监视器回调数据。

 2/2   首页 上一页 1 2 下一页

文章TAG:插件  android  Android  解析  原理  android插件化原理解析  
下一篇