退出应用程序时未调用Flutter Provider的dispose方法

时间:2019-11-16 17:19:25

标签: flutter flutter-provider

我正在使用提供程序将MaterialApp包装在我的应用程序中,但是在关闭应用程序时,未调用提供程序的dispose方法。

我的代码如下:

MaterialApp(
  title: 'Flutter Demo',
  theme: ThemeData(
    primarySwatch: Colors.blue,
  ),
  home: Provider<PageBloc>(
    builder: (context) => PageBloc(FlutterSerialService()),
    child: Consumer<PageBloc>(
      builder: (context, bloc, _) => MainPage(bloc: bloc),
    ),
    dispose: (context, bloc) {
      print("Dispose..");
      bloc.dispose();
    },
  ),
);

1 个答案:

答案 0 :(得分:0)

来自https://github.com/rrousselGit/provider的文档(我想这是您使用的提供者!?):

  

如果从小部件树中删除了Provider,则将处理实例化的MyComplexClass。

因此,据我了解,仅当您更改窗口小部件树时,才会触发处理回调。退出应用程序时,小部件树仍保持不变。在杀死应用程序时,您是否检查了它的名称?