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