`RouteAware`-实现者取消订阅任何以前的依赖项?

`RouteAware`-implementer unsubscribe from any previous dependency?

以下片段来自 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-实施者不应该取消订阅任何以前的依赖项吗?

这是安全的,因为如果 this 已经在订阅者列表中,则 subscribe 的实施不会执行任何操作。