是否打电话StreamController.close
自动取消StreamSubscription
并删除所有引用?
我认为这是有道理的,但我无法在文档中找到它来确定。
我有以下代码:
dispose: (context, bloc) {
_blocSubscription.cancel();
bloc.dispose();
},
但我很确定我可以删除它_blocSubscription
变量并调用bloc.dispose()
, as _blocSubscription.cancel()
似乎多余,任何订阅都会自动取消。但我找不到任何有关订阅是否包含对已关闭的引用的信息Stream
,这可能会导致内存泄漏。
你只需要思考什么是StreamSubscription https://api.flutter.dev/flutter/dart-async/StreamSubscription-class.html事实上确实如此。
它只是为您提供了一种方法取消订阅您的listener
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)