转自:https://www.jianshu.com/p/982545e01d0a 1.概述 在I / O '17的时候,其中一个重要的主题是Architecture Components.这是一个官方的新库.旨在帮助开发者设计"健壮,可测试和可维护"的应用程序.简而言之,这个库可以帮助开发者更好地处理生命周期事件和配置更改时的数据持久性,同时还能帮助开发者创建更好的体系结构应用程序,并避免难以维护和测试的膨胀类. 其官方文档在这里:Android Architecture Compo…
目录 LiveData 前言 使用ViewModel+LiveData LiveData 前言   ViewModel通过将UI data保存在ViewModel类实例的内部,从而大大地将MVC中的 Controller 与 View 分割开,并且通过ViewModel,我们可以较为方便地解决Activity生命周期发生改变(比如由屏幕旋转引起的生命周期重建)时,UI data的保存以及重现问题.   下图展示了MVC中Controller与View的关系.简而言之就是,Controller负责…
版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/gdutxiaoxu/article/details/86660746 说在前面 本次推出 Android Architecture Components 系列文章,目前写好了四篇,主要是关于 lifecycle,livedata 的使用和源码分析,其余的 Navigation, Paging library,Room,WorkMannage…
原文作者: Jose Alcérreca 原文地址: ViewModels and LiveData: Patterns + AntiPatterns 译者:秉心说 View 和 ViewModel 分配责任 理想情况下,ViewModel 应该对 Android 世界一无所知.这提升了可测试性,内存泄漏安全性,并且便于模块化. 通常的做法是保证你的 ViewModel 中没有导入任何 android.*,android.arch.* (译者注:现在应该再加一个 androidx.lifecyc…
ViewModel ViewModel的引入 如果系统销毁或重新创建界面控制器,则存储在其中的任何临时性界面相关数据都会丢失.例如,应用的某个 Activity 中可能包含用户列表.因配置更改而重新创建 Activity 后,新 Activity 必须重新提取用户列表.对于简单的数据,Activity 可以使用 onSaveInstanceState() 方法从 onCreate() 中的捆绑包恢复其数据,但此方法仅适合可以序列化再反序列化的少量数据,而不适合数量可能较大的数据,如用户列表或位图…
1.官方文档 MVVM 官方文档: https://developer.android.com/jetpack/docs/guide ViewModel 文档: https://developer.android.com/topic/libraries/architecture/viewmodel ViewModel保存状态:    https://developer.android.com/topic/libraries/architecture/viewmodel-savedstate Li…
要看本系列其他文章,可访问此链接Jetpack架构学习 | Stars-One的杂货小窝 原文地址:Jetpack架构组件学习(2)--ViewModel和Livedata使用 | Stars-One的杂货小窝 Jetpack架构推荐使用MVVM结构,为此推出了几个MVVM的组件库供我们开发者快速接入,首先要讲的就是ViewModel 个人理解:Activity为View,VM就是ViewModel,负责数据的逻辑处理,Model则是数据源 ViewModel 介绍 ViewModel能做什么?…
版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/gdutxiaoxu/article/details/90522643 前言 Android lifecycle 使用详解 Android LiveData 使用详解 Android lifecyle 源码解剖 Android livedata 源码解剖 Android lifecycle 实战及使用进阶 github sample 地址:…
嗨,大家好,面试真题系列又来了,今天我们说说MVVM架构里的两大组件:ViewModel和LiveData. 还是老样子,提出问题,做出解答. ViewModel 是什么? ViewModel 为什么被设计出来,解决了什么问题? 说说ViewModel原理. LiveData 是什么? LiveData 为什么被设计出来,解决了什么问题? 说说LiveData原理. ViewModel 是什么,说说你所理解的ViewModel? 如果看过我上一篇文章的小伙伴应该都有所了解,ViewModel是M…
本文基于SDK 29 一.ViewModel与LiveData的作用: 1.viewModel: 数据共享,屏幕旋转不丢失数据,并且在Activity与Fragment之间共享数据. 2.LiveData: 感知生命周期并且通知观察者刷新,防止内存泄漏. 二.用法 三.原理: 1.ViewModel: ViewModelProviders.of(this).get(MyViewModel::class.java) 我们通过这个方法来构造ViewModel. @NonNull @MainThrea…