我正在使用提供程序将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();
},
),
);
答案 0 :(得分:0)
来自https://github.com/rrousselGit/provider的文档(我想这是您使用的提供者!?):
如果从小部件树中删除了Provider,则将处理实例化的MyComplexClass。
因此,据我了解,仅当您更改窗口小部件树时,才会触发处理回调。退出应用程序时,小部件树仍保持不变。在杀死应用程序时,您是否检查了它的名称?