标签: flutter
我是新手,但我想确保弹出屏幕时没有任何宽松的初始化。有没有一种方法可以检查变量,侦听器或流中是否存在松散的初始化,以避免内存泄漏?
答案 0 :(得分:1)
您可以通过覆盖 dispose 方法
@override void dispose() { super.dispose(); //listeners to remove }
检查颤动生命周期示例:Life cycle in flutter
答案 1 :(得分:1)
在您的BLoC中创建处理方法
final _someSubject = BehaviorSubject<List<int>>(); ... Stream<List<int>> get someStream => _someSubject.stream; ... dispose() async { await _someSubject.drain(); _someSubject.close(); }
,然后在页面上调用处置
@override void dispose() { _someBloc.dispose(); super.dispose(); }
了解更多about的流失和close