Jeremy Liao
Jeremy Liao
从你描述的场景来看,是先发送消息再注册消息接收器吗,如果是这个先后顺序,要使用observeSticky方法注册接收器才能收到之前发送的消息
Fragment可以感知生命周期,只要是LifecycleOwner的子类都可以
是的,fragment会在destroy的时候调用performDestroy,然后用LifecycleRegistry去remove Observer
> 混淆后,出现不能收到发送的信息,混淆用的readme提供的混淆 sorry,上次更新版本后没有同步更新混淆规则,请使用如下混淆规则: -dontwarn com.jeremyliao.liveeventbus.** -keep class com.jeremyliao.liveeventbus.** { *; } -keep class android.arch.lifecycle.** { *; } -keep class android.arch.core.** { *; } for androidx: -dontwarn com.jeremyliao.liveeventbus.** -keep class com.jeremyliao.liveeventbus.**...
嗯,后续会迁移到maven center,不过目前的信息是jcenter会维持到2022.2
能说下具体的场景吗
> 使用自动感知生命周期的方式。第一次获取通知信息正常,接下来就是有很久的延时,大约在8-10秒左右。 不应该啊,你试下demo看也会延迟这么久吗:https://github.com/JeremyLiao/LiveEventBus/blob/master/live-event-bus/app/src/main/java/com/jeremyliao/lebapp/LiveEventBusDemo.java
手动取消和手动订阅需要配对使用(observeForever/removeObserver),另外没有observe 的实例是不能remove的,需要能拿到这个实例的那一端去remove
forever是订阅消息的方式,forever的方式订阅的消息需要手动取消订阅
/** * 注册一个Observer,生命周期感知,自动取消订阅 * * @param owner * @param observer */ void observe(@NonNull LifecycleOwner owner, @NonNull Observer observer); /** * 注册一个Observer * * @param observer */ void observeForever(@NonNull Observer observer);...