开源框架剖析-依赖注入ButterKnife

Posted by ZYT on March 11, 2020

开源框架剖析-依赖注入ButterKnife

为了解决findViewByid、setOnclickListener这些手写代码 旧版本用到了反射,新版本用的是编译时注解处理技术APT

主要用到的技术有自定义注解、注解处理器APT(Annotation Processing Tool)、

APT annotationProcessor

1,生命注解的生命周期为CLASS

2,继成AbstractProcessor类

3,调用AbstractProcessor的process方法

工作原理

1,在编译的时候扫描注解,生成java代码。(java代码是调用square的代码处理库javapoet生成的) ButterKnifeProcessor

2,调用ButterKnife.bind(this);方法的时候,将ID与对应的上下文绑定在一起

这个库太简单不知道从何开始写,以后再补充吧