在 Android 开发中,我们为了方便初始化 Activity 中的各种 View,我们可能会使用到 Jake Wharton 的 ButterKnife 库,这个库是针对 View、资源 id 等进行注解的开源库,它能够去除掉一些丑陋不堪的样板式代码,使得我们的代码更加简洁、易于维护,同时基于 APT 也使得它的效率得到保证。 (如果你想快速了解 ButterKnife 的实现思路,可以先阅读 ExampleActivity$InjectAdapter 类以及后续的结论,然后再回过头来阅读 )