sync method
void
sync()
同步状态
Implementation
void sync() {
while (!isSynced()) {
_newEventOccurred = false;
// no need to check eldest for nullability, because isSynced does it for us.
LifecycleState? eldestObserverState = getEldestStateObserver()?.state;
if (_state.index < (eldestObserverState?.index ?? -1)) {
_backwardPass(lifecycleOwner);
}
ObserverWithState? newestStateObserver = getNewestStateObserver();
if (!_newEventOccurred && newestStateObserver != null && _state.index > newestStateObserver.state.index) {
_forwardPass(lifecycleOwner);
}
}
_newEventOccurred = false;
}