目录
前言
Jetpack是一个由多个技术库组成的套件,可帮助开发者遵循最佳做法,减少样板代码并编写可在各种Android版本和设备中一致运行的代码,让开发者精力集中编写重要的代码。
一、ViewModel
ViewModel是介于View(视图)和Model(数据模型)之间的中间层,能够使视图和数据分离,又能提供视图和数据之间的通信。如图所示:
1、解决的问题:
- 屏幕翻转后页面数据的丢失;
- 异步调用导致的内存泄露;
- 类膨胀提高维护难度和测试难度;
2、注意点事项:
- ViewModel的生命周期要比Activity的生命周期更长,因此在使用ViewModel时,不要向ViewModel传入Activity的Context,因为这样会导致内存泄露。
- 如果必须使用Context,可使用AndroidViewModel中的Application。
3、ViewModel案例:
我们知道&#x