gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 07:17:08 25 4
gpt4 key购买 nike

我正在使用 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();
},
),
);

最佳答案

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

And in the event where Provider is removed from the widget tree, the instantiated MyComplexClass will be disposed.

因此,根据我的理解,dispose 回调只会在您更改小部件树时触发。退出应用程序时,小部件树仍保持不变。当您终止应用程序时,您是否检查过它是否被调用?

关于退出应用程序时未调用 Flutter Provider dispose 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58893259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com