目录
前言
Jetpack是一个由多个技术库组成的套件,可帮助开发者遵循最佳做法,减少样板代码并编写可在各种Android版本和设备中一致运行的代码,让开发者精力集中编写重要的代码。
一、ViewModel
ViewModel是介于View(视图)和Model(数据模型)之间的中间层,能够使视图和数据分离,又能提供视图和数据之间的通信。如图所示:

1、解决的问题:
- 屏幕翻转后页面数据的丢失;
- 异步调用导致的内存泄露;
- 类膨胀提高维护难度和测试难度;
2、注意点事项:
- ViewModel的生命周期要比Activity的生命周期更长,因此在使用ViewModel时,不要向ViewModel传入Activity的Context,因为这样会导致内存泄露。
- 如果必须使用Context,可使用AndroidViewModel中的Application。
3、ViewModel案例:
我们知道,Android横竖屏切换时,当前的Activity会被销毁重建,然后Activity上面的数据将会全部丢失。(如Listview上面每个item的checkbox,横竖屏切换时,复选框就丢失所有选中信息)。一般,我们解决办法是,在配置清单Androidmanifest.xml的activity标签中加入android:configChanges="orientation|keyboardHidd

最低0.47元/天 解锁文章
1022

被折叠的 条评论
为什么被折叠?



