Flutter 何时调用AppLifeCycleState.detached?

Flutter 何时调用AppLifeCycleState.detached?,flutter,Flutter,我已经: 似乎有效,但在任何情况下都不起作用 我读了,但在实际场景中无法理解,任何人都可以共享相关代码吗,何时何地调用它 正如医生所说 独立的→ const AppLifecycleState应用程序仍托管在 颤振引擎,但与任何主体视图分离 当应用程序处于此状态时,引擎将在无故障的情况下运行 看法它可以是在安装引擎时正在附加视图 是首次初始化,还是在视图由于 导航器流行音乐 只有当你的家庭小部件进入后台(按下android设备的后退按钮)时,你才能在主屏幕上重现上述问题 iOS: void ma

我已经:

似乎有效,但在任何情况下都不起作用

我读了,但在实际场景中无法理解,任何人都可以共享相关代码吗,何时何地调用它

正如医生所说

独立的→ const AppLifecycleState应用程序仍托管在 颤振引擎,但与任何主体视图分离

当应用程序处于此状态时,引擎将在无故障的情况下运行 看法它可以是在安装引擎时正在附加视图 是首次初始化,还是在视图由于 导航器流行音乐

只有当你的家庭小部件进入后台(按下android设备的后退按钮)时,你才能在主屏幕上重现上述问题

iOS:

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)