以下代码摘自RouteObserver
的Flutter文档:
@override
void didChangeDependencies() {
super.didChangeDependencies();
routeObserver.subscribe(this, ModalRoute.of(context));
}
@override
void dispose() {
routeObserver.unsubscribe(this);
super.dispose();
}
我不明白为什么didChangeDependencies
也不包括routeObserver.unsubscribe(this)
。
RouteAware
-实现者是否应该取消订阅任何先前的依赖关系?
答案 0 :(得分:1)
这是安全的,因为如果subscribe
已在订户列表中,则this
的实现将不执行任何操作。