因为我使用了将pushNamed导航到屏幕B(我想将当前屏幕(屏幕A)保留在堆栈中),所以不会触发屏幕A中的StatefulWidget的dispose函数,所以流仍然存在。 那么,我如何知道将导航pushName命名为Screen B,然后才能关闭流?当我回到屏幕A时,重新启动流。
非常感谢。
答案 0 :(得分:0)
这对您有帮助吗?
navigate()async{
streamSubscription.cancel();
await Navigator.of(context).pushNamed('routeName');
streamSubscription = streamController.stream.listen((event) { });
}