DataBinding簡解

0、相關文章:

文章1:Android從零開始搭建MVVM架構(1)————DataBinding

文章2:Android之DataBinding詳解

文章3:databinding(系列文章5篇)

文章4:Android Data binding官方指南

1、DataBinding的優劣勢

1.1、優勢

DataBinding 出現以前,我們在實現 UI 界面時,不可避免的編寫大量的毫無營養的代碼:比如 View.findViewById();比如各種更新 View 屬性的 setter:setText(),setVisibility(),setEnabled() 或者 setOnClickListener() 等等。

這些“垃圾代碼”數量越多,越容易滋生 bug。使用 DataBinding,我們可以避免書寫這些“垃圾代碼”。

1.2、劣勢

  • 數據綁定增加Bug調試難度。由於數據和視圖的雙向綁定,導致出現問題時不太好定位來源,有可能數據問題導致,也有可能業務邏輯中對視圖屬性的修改導致。
  • 複雜的頁面,model也會很大,雖然使用方便了也很容易保證了數據的一致性,當時長期持有,不利於釋放內存。
  • 數據雙向綁定不利於View重用。
  • 會增加編譯出的 apk 文件的類數量和方法數量。

新建一個空的工程,統計打開 build.gradle 中 Data Binding 開關前後的 apk 文件中類數量和方法數量,類增加了 120+,方法數增加了 9k+(開啓混淆後該數量減少爲 3k+)。
如果工程對方法數量很敏感的話,請慎重使用 Data Binding。

基於DataBinding的缺點,實現MVVM可以採用ViewModel + LiveData 替代實現。

2、使用

可參考文章1.

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章