Android使用AnnotationProcessor模仿ButterKnife

一、概述

  在之前的一篇文章中,我们用反射实现了ButterKnife。但使用反射实现ButterKnife性能会受损。这一节我们使用AnnotationProcessor来实现一个ButterKnife(仅实现bindView作参考),在代码编译之前生成辅助类来帮助我们去掉繁琐的findViewById操作,提高我们的开发效率,同时这个方案与性能五损耗。

  下面我们看看具体怎样实现。

二、案例实现

  想要学会这个小例子,首先读者需要具备以下几个条件:

  1.熟悉java的反射机制(在bindView的时候会用到反射)

  2.熟悉自定义注解的用法

  3.熟悉AnnotationProcessor(编译时注解处理工具)

  4.熟悉JavaPoet(用于生成java源文件的工具类,辅助library生成辅助类)

  ps:默认以上四点大家都懂了,嘿嘿

上一篇:类名.class和getClass()区别


下一篇:注解使用--ButterKnife原理分析