APT技术

注解预处理APT与Javapoet

2020-03-16  本文已影响0人  WaterYuan

APT(Annotation Process Tool),是一种在代码编译时处理注解,按照一定的规则,生成相应的java文件,多用于对自定义注解的处理,目前比较流行的Dagger2, ButterKnife, EventBus3都是采用APT技术,对运行时的性能影响很小。

方式一:字符串拼接,传统法
方式二:用封装的API,Javapoet

JavaPoet提供了
(TypeSpec)用于创建类或者接口,
(FieldSpec)用来创建字段,
(MethodSpec)用来创建方法和构造函数,
(ParameterSpec)用来创建参数,
(AnnotationSpec)用于创建注解。
addStatement() 负责分号和换行

使用及代码

注解基础知识
EventBus 3.0 从编译时注解分析源码

Android APT 自动生成代码实践

通过ButterKnife理解自定义注解处理器

调试注解预处理过程
mMessager = ProcessingEnvironment.getMessager();
mMessager.printMessage(Diagnostic.Kind.ERROR, String.format(msg, args), e);

上一篇 下一篇

猜你喜欢

热点阅读