跟踪颤振中应用程序的完全退出



我有一个非常不同的场景,

我正在寻找一种解决方案,如果有人试图强行关闭应用程序,我需要在关闭前清除共享引用数据。所以,如果用户回到应用程序,他们需要再次登录任何帮助都会得到通知。

谨致问候,Nikhil

在移动系统上,您通常不应该根据应用程序是否在后台被杀死而采取不同的行为。用户不应该知道应用程序的生命周期,这只是操作系统进行内存/电池管理的问题。

话虽如此。iOS本身就有生命周期挂钩(AppDelegateapplicationWillTerminateApplication的AndroidonDestroy(。但此时,你可能不希望你的应用程序有足够的时间与你的flutter/dart代码异步通信,然后再次返回,进行你要求的清理。

所以我建议好好看看你的用例。一种方法是使用WidgetsBinding.instance.addObserver来侦听状态更改为AppLifecycleState.pausedidChangeAppLifecycleState,并进行清理。因此,当用户从你的应用程序切换回来时(无论应用程序是否在此期间被杀(,你都可以显示一个新的登录提示。

flutter文档中有一个关于如何添加观察者的示例。

class _AppLifecycleReactorState extends State<AppLifecycleReactor> with WidgetsBindingObserver {
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
}
@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
@override
void didChangeAppLifecycleState(AppLifecycleState state) {
// TODO check the new state.
}

相关内容

最新更新