我应该打电话给super.dispose()吗?

时间:2019-09-26 12:39:20

标签: flutter dart bloc

我正在通过此article学习Dart和Bloc模式。在repo中,作者调用super.dispose();如下:

  @override
  void dispose(){
    super.dispose();
    _bloc.dispose();
  }

我不知道这是可选呼叫还是要求呼叫?

2 个答案:

答案 0 :(得分:1)

状态处置的文档状态

  

如果重写此方法,请确保以对super.dispose()的调用来结束方法。

所以我将其放在_bloc.dispose();

来源:https://api.flutter.dev/flutter/widgets/State/dispose.html

答案 1 :(得分:0)

State.dispose的文档指示它已用@mustCallSuper进行注释。该文档记录了预期的用法,如果覆盖忽略调用它,它将从flutter analyze / dartanalyzer生成静态分析警告。