8.1k words 7 mins.

# ViewModel 源码剖析 # 示例代码 ViewModel 负责数据存储,借助 LiveData,实现异步获取数据,完成后,通知 UI 观察者,更新 UI public class MyViewModel extends ViewModel { private MutableLiveData<List<User>> users; public LiveData<List<User>> getUsers() { if (users == null) {...
1k words 1 mins.

Requirement:: 应用内有些 Activity 数据敏感,需要区别对待,这里需要识别首次进入红色 Activity 集合内,在红色 Activity 集合内跳转,和跳出红色 Activity 集合三种情况。【当红色 Activity 集合是应用内的 Activity 集合时,就相当于首次进入应用,应用内界面跳转和退出应用的判定】 算法描述: 定义一个保存 Activity Simple Name 的集合。 Activity onResume 时,将此 Activity Simple Name 加入集合。 当集合元素个数等于 1 时,为首次进入该应用打开的第一个...