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