Open zhafeite opened 2 years ago
同一个key且同一个observer会重复订阅
确实,比如在 onResume 订阅会出现重复订阅,android 系统 LiveEvent 不会,因为有重复判断。
@MainThread private void observeInternal(@NonNull LifecycleOwner owner, @NonNull Observer observer) { ObserverWrapper observerWrapper = new ObserverWrapper<>(observer); observerWrapper.preventNextEvent = liveData.getVersion() > ExternalLiveData.START_VERSION; liveData.observe(owner, observerWrapper); }
而LiveEventBus 每次订阅都会重新创建 ObserverWrapper
同一个key且同一个observer会重复订阅