Flutter 何时调用AppLifeCycleState.detached?
我已经: 似乎有效,但在任何情况下都不起作用 我读了,但在实际场景中无法理解,任何人都可以共享相关代码吗,何时何地调用它 正如医生所说 独立的→ const AppLifecycleState应用程序仍托管在 颤振引擎,但与任何主体视图分离 当应用程序处于此状态时,引擎将在无故障的情况下运行 看法它可以是在安装引擎时正在附加视图 是首次初始化,还是在视图由于 导航器流行音乐 只有当你的家庭小部件进入后台(按下android设备的后退按钮)时,你才能在主屏幕上重现上述问题 iOS:Flutter 何时调用AppLifeCycleState.detached?,flutter,Flutter,我已经: 似乎有效,但在任何情况下都不起作用 我读了,但在实际场景中无法理解,任何人都可以共享相关代码吗,何时何地调用它 正如医生所说 独立的→ const AppLifecycleState应用程序仍托管在 颤振引擎,但与任何主体视图分离 当应用程序处于此状态时,引擎将在无故障的情况下运行 看法它可以是在安装引擎时正在附加视图 是首次初始化,还是在视图由于 导航器流行音乐 只有当你的家庭小部件进入后台(按下android设备的后退按钮)时,你才能在主屏幕上重现上述问题 iOS: void ma
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: HomeScreen(),
);
}
}
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> with WidgetsBindingObserver {
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
}
@override
didChangeAppLifecycleState(AppLifecycleState state) {
if (AppLifecycleState.paused == state) {}
print("Status :" + state.toString());
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Book'),
),
body: Center(
child: Text('Home Screen'),
),
);
}
}
SystemChannels.platform.invokeMethod('SystemNavigator.pop');
这是一只虫子。我在iOS和Android设备上都做过测试。当你通过按下后退按钮或在Android设备上滑动关闭应用程序时,你可以产生分离的状态,而在iOS设备上则不起作用。请关注是否应该
Navigator.pop(上下文)
也调用?该状态可以由系统本身触发,而不是由pop触发。让我们看看您只有1页,当您在其上调用Navigator.pop(上下文)
时,这不被视为系统pop吗?因为应用程序是否退出?仍然没有合适的文档可用于此操作,但上述方法终止了当前正在运行的进程,该进程将UI与颤振引擎分离。如果您只需按该页面上的“后退”按钮,这不算退出吗?颤振引擎是否不停止?我应该也必须停下来,但仍然没有接到电话。
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: HomeScreen(),
);
}
}
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> with WidgetsBindingObserver {
@override
void initState() {
super.initState();
WidgetsBinding.instance.addObserver(this);
}
@override
didChangeAppLifecycleState(AppLifecycleState state) {
if (AppLifecycleState.paused == state) {}
print("Status :" + state.toString());
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Book'),
),
body: Center(
child: Text('Home Screen'),
),
);
}
}
SystemChannels.platform.invokeMethod('SystemNavigator.pop');
exit(0)