2. ButterKnife 爲什麼執行效率爲什麼比其他注入框架高?
ButterKnife
使用了註解處理技術,可以自動生成相應代碼,一是爲了提高編碼的效率,二是避免在運行期大量使用反射,通過在編譯期利用反射生成輔助類和方法以供運行時使用。
3. 自定義註解處理器
瞭解了基本的知識點後,我們應該嘗試去使用這些技巧。 接下來是實踐時間,我們來開發一個簡單的例子,利用註解處理器來自動產生隨機數字和隨機字符串。
- 1.首先創建一個 project
- 2.創建
lib_annotations
, 這是一個純java
的module
,不包含任何android
代碼,只用於存放註解 - 3.創建
lib_compiler
, 這同樣是一個純java
的module
。該module
依賴於步驟2
創建的module_annotation
, 處理註解的代碼都在這裏,該moduule
最終不會被打包進apk
,所以你可以在這裏導入任何你想要的任意大小依賴庫 - 4.創建
lib_api
, 對該module
不做要求,可以是android library
或者java library
或者其他的。該module
用於調用步驟3
生成的輔助類方法。