API 参考 / 事件系统
Subscription
订阅令牌,由 EventBus#subscribe 返回。
方法速览
| 方法 | 用途 |
|---|---|
unsubscribe() | 退订(幂等),之后该监听器不再收到事件 |
unsubscribe()
java
void unsubscribe();行为:将该订阅标记为失效并移出有序订阅表;重复调用无副作用。若在投递过程中调用,后续条目立即不再被调用(宿主实现用 alive 标志实现,不必等本轮分发结束)。总线持有监听器的强引用,所以长生命周期订阅必须显式退订,或依赖模组停用时宿主按模组归属统一清理。
示例:
java
Subscription sub = ctx.eventBus().subscribe(GameEndEvent.class, event -> {
// 只关心下一局的结束:收到后立刻退订
});
sub.unsubscribe();完整签名
java
public interface Subscription {
void unsubscribe();
}线程:任意线程可调用(宿主内部加锁)。
稳定性:2.0 起冻结,2.x 内只增不破。