cancel_subscriptions
dart:async
の StreamSubscription
のインスタンスをキャンセルします。
このルールは、Dart 2.0から利用可能です。
詳細
#必ずdart:async
のStreamSubscription
のインスタンスに対してcancel
を呼び出してください。
StreamSubscriptionのインスタンスをキャンセルすることで、メモリリークや予期せぬ動作を防ぎます。
悪い例
dart
class A {
StreamSubscription _subscriptionA; // LINT
void init(Stream stream) {
_subscriptionA = stream.listen((_) {});
}
}
悪い例
dart
void someFunction() {
StreamSubscription _subscriptionF; // LINT
}
良い例
dart
class B {
StreamSubscription _subscriptionB; // OK
void init(Stream stream) {
_subscriptionB = stream.listen((_) {});
}
void dispose(filename) {
_subscriptionB.cancel();
}
}
良い例
dart
void someFunctionOK() {
StreamSubscription _subscriptionB; // OK
_subscriptionB.cancel();
}
既知の制限事項
このルールは、StreamSubscriptionのインスタンス化とキャンセルすべてのパターンを追跡するわけではありません。linter#317で詳細情報をご覧ください。
使用方法
#cancel_subscriptions
ルールを有効にするには、analysis_options.yaml
ファイルのlinter > rulesの下にcancel_subscriptions
を追加します。analysis_options.yaml
analysis_options.yaml
yaml
linter:
rules:
- cancel_subscriptions
特に明記されていない限り、このサイトのドキュメントはDart 3.5.3を反映しています。最終更新日: 2024年7月3日。 ソースコードを表示 または 問題を報告する.