网络框架3——Butterknife详解

156 阅读1分钟

Butterknife其实并不是网络框架,博客命名为网络框架其实是为了统一分类,可以统一认为是开源网络框架

1 Butterknife使用简介

其实就是一个依托Java的注解机制来实现辅助代码生成的框架

  1. 绑定一个view
  2. 给一个View添加点击事件
  3. 给多个View添加点击事件
  4. 给ListView setItemClickListener

2 Butterknife原理

  1. 开始它会扫描Java代码中所有的Butterknife注解

  2. ButterKnifeProcessor ->< className> $$ViewBinder

  3. 调用bind方法加载生成的ViewBinder类

下面这个博客写的特别好,总结的很全面
ButterKnife 原理解析

ButterKnife 整个过程是在项目编译阶段完成的,主要用到了 annotationProcessor 和 JavaPoet 技术,使用时通过生成的辅助类完成操作,并不是在项目运行时通过注解加反射实现的,所以并不会影响项目运行时的性能,可能仅在项目编译时有略微的影响。