跳至主要内容

反转调度程序和服务层之间的依赖关系

摘要

#

服务层现在依赖于调度程序层。以前,情况正好相反。如果您定义了覆盖 Flutter 的SchedulerBindingServicesBinding 的自定义绑定,则可能会受到影响。

上下文

#

在此更改之前,调度程序层依赖于服务层。此更改反转了依赖关系链,并允许服务层利用调度程序层中的调度原语。例如,服务层中的服务现在可以使用SchedulerBinding.scheduleTask来调度任务。

更改说明

#

此更改仅影响那些基于 Flutter 的SchedulerBindingServicesBinding 定义自己的自定义绑定的用户。

迁移指南

#

在此更改之前,必须先定义ServiceBinding,然后再定义SchedulerBinding。通过此更改,顺序反过来了。

迁移前的代码

dart
class FooBinding extends BindingBase with ServicesBinding, SchedulerBinding {
 // ...
}

迁移后的代码

dart
class FooBinding extends BindingBase with SchedulerBinding, ServicesBinding {
 // ...
}

时间线

#

包含在版本中:1.18.0
稳定版发布:1.20

参考

#

API 文档

相关 PR