注解分为三种,一般来讲我们使用的是运行时会加载及能够反射读取的注解类型, 其他编译器生效的类型和编译后放入类文件而运行期不能加载解析的对我们没啥用. 所以从普通理解上来看,注解要配合着反射用就好了. java有很多依赖注入框架,比如Spring,这类注解框架是很强大的,它们通过在运行 时读取注解实现注入,依赖和注入都需要依靠Java的反射机制,反射对于性能敏感 的Android来说是一个硬伤,所以这类注入框架一般用于JavaEE开发. 不过在butterknife中,其注解保留为class,Re