Andriod --- JetPack (三):ViewModel 的诞生
1.Andriod — JetPack (一):初識 JetPack
2.Andriod — JetPack (二):LifeCycle 的誕生
3.Andriod — JetPack (三):ViewModel 的誕生
4.Andriod — JetPack (四):BaseObservable 與 ObservableField 雙向綁定
5.Andriod — JetPack (五):DataBinding + LiveData +ViewModel 簡單實例
6.Andriod — JetPack (六):Room 增刪改查
7.Andriod — JetPack (七):Room + ViewModel + LiveData 增刪改查實例
一、ViewModel的誕生
1.瞬態數據的丟失
比如用戶在界面上輸入了數據,如果屏幕旋轉之后,數據就發生了丟失。
ViewModel實際上是以Map的方式保存我們的數據
2.異步調用的內存泄漏
3.類膨脹提高維護的難度和測試的難度
比如在 Activity 中寫的代碼太多,導致維護難度增加
二、ViewModel的作用
1.它是介于 View(視圖)和 Model(數據模型)直接的橋梁
2.使視圖和數據能夠分離,也能夠保持通信
三、使用ViewModel的注意事項
1.不要向ViewModel中傳入Context ,會導致內存泄漏,如果要使用Context的話,就讓自定義MyViewModel繼承AndroidViewModel,使用里面的Application。
即由:
public class MyViewModel extends ViewModel {}換成
public class MyViewModel extends AndroidViewModel {public MyViewModel(@NonNull Application application) {super(application);} }學習內容來自動腦學院~
總結
以上是生活随笔為你收集整理的Andriod --- JetPack (三):ViewModel 的诞生的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Andriod --- JetPack
- 下一篇: Andriod --- JetPack