跳转至

生命周期

基本上所有的事件分发框架都需要手动注销接受者, 但是Channel默认支持自动注销(当然也支持手动注销)

只要在Activity或者Fragment中使用receiveEvent/receiveTag其接受者就会在Activity或者Fragment被销毁的时候默认注销掉

指定取消生命周期

默认在Lifecycle.Event.ON_DESTROY销毁, 但是可以指定其参数

receiveEvent<String>(lifeEvent = Lifecycle.Event.ON_PAUSE) {
    tv_event.text = it
}

手动注销

当不需要自动注销情况下可以使用receiveEventHandler返回一个Job用于手动取消事件接收者

val job = receiveEventHandler<String> {
    tv_event.text = it
}

job.cancel() // 手动调用函数注销