- AndroidVieModel是具有context环境的ViewMoel
- 非activity启动或者广播,服务启动 需要加标记Intent.FLAG_ACTIVITY_NEW_TASK
- LiveData的setValue是在主线程运行,postValue是在异步线程运行
- Lifecycle就是观察activity(fragment)的生命周期的变化
- MutableLiveData是Live的子类使用起来更加简单,通常使用它
- liveData的observe方法判断了是否销毁的状态,setValue方法判断的了是否是可见状态
- viewModel==反射实例化出来的
- viewModel的核心就是viewModelStore,他是保存viewModel的map
- getViewModelStore获取的时候会拿到上一次横竖屏的信息
- liveData主要是依赖了lifecycle可以感知生命周期,从而避免了崩溃
- 一个activity/fragment可以绑定多个viewModel
- 可以在xml文件再多绑定一个activity的内部类(必须public)来直接进行解耦
- @BindingAdapter是databinding的高级特性 可以自定义控件类型,方法的第一个参数是根据你的控件来定义的。
- ViewModelProvider的参考写法
- 如果绑定了多个viewModel记得要全部绑定才能使用
- 定义一个项目的viewModel(唯一性)可以用于共享整个项目的信息
- 先触发,后观察(数据粘性)
- hook机制,解决数据粘性问题
- room注解的方式生成实体类(表)和查询语句
jetpack笔记
最新推荐文章于 2024-05-11 14:16:05 发布