
您可以将整个应用程序包装成一个statefulwidget。而且,当您想重新启动应用程序时,请与拥有不同的孩子重建该statefulwidget
Key。
这会使您失去整个应用程序状态。
import 'package:flutter/material.dart';void main() { runApp( RestartWidget( child: MaterialApp(), ), );}class RestartWidget extends StatefulWidget { RestartWidget({this.child}); final Widget child; static void restartApp(BuildContext context) { context.findAncestorStateOfType<_RestartWidgetState>().restartApp(); } @override _RestartWidgetState createState() => _RestartWidgetState();}class _RestartWidgetState extends State<RestartWidget> { Key key = UniqueKey(); void restartApp() { setState(() { key = UniqueKey(); }); } @override Widget build(BuildContext context) { return KeyedSubtree( key: key, child: widget.child, ); }}RestartWidget.restartApp(context)。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)