跳到主要内容

close_sinks

稳定

关闭 dart:core Sink 的实例。

详情

#

务必dart:core Sink 的实例上调用 close

关闭 Sink 实例可以防止内存泄漏和意外行为。

错误示例

dart
class A {
  IOSink _sinkA;
  void init(filename) {
    _sinkA = File(filename).openWrite(); // LINT
  }
}

错误示例

dart
void someFunction() {
  IOSink _sinkF; // LINT
}

正确示例

dart
class B {
  IOSink _sinkB;
  void init(filename) {
    _sinkB = File(filename).openWrite(); // OK
  }

  void dispose(filename) {
    _sinkB.close();
  }
}

正确示例

dart
void someFunctionOK() {
  IOSink _sinkFOK; // OK
  _sinkFOK.close();
}

已知限制

此规则不会跟踪 Sink 实例化和关闭的所有模式。有关更多信息,请参阅 sdk#57882

启用

#

要启用 close_sinks 规则,请在您的 analysis_options.yaml 文件中的 linter > rules 下添加 close_sinks

analysis_options.yaml
yaml
linter:
  rules:
    - close_sinks

如果您改为使用 YAML 映射语法来配置 linter 规则,请在 linter > rules 下添加 close_sinks: true

analysis_options.yaml
yaml
linter:
  rules:
    close_sinks: true