AndroidLiveData的实现原理
发布时间
阅读量:
阅读量
@Override
static boolean shouldBeActive() {
return mOwner获取生命周期.a getCurrentState().从STARTED开始检查是否至少达到状态;
}
@Override
public void onStateChanged(@NonNull LifecycleOwner source,
@NonNull Lifecycle.Event event) {
//获取当前生命周期状态
Lifecycle.State currentState = mOwner.getLifecycle().getCurrentState();
//如果组件已销毁了,就移除观察
if (currentState == DESTROYED) {
removeObserver(mObserver);
return;
}
Lifecycle.State prevState = null;
while (prevState != currentState) {
prevState = currentState;
activeStateChanged(shouldBeActive());
currentState = mOwner.getLifecycle().getCurr
全部评论 (0)
还没有任何评论哟~
