【发布时间】:2018-11-26 23:37:36
【问题描述】:
我一直在试图找出导致下述行为的原因:
- 我有一个多屏 Flutter 应用
- 使用 Routes 和一个 Drawer 实现对各个屏幕的导航,该 Drawer 向它们提供 Navigator.pushNamed(context, "/XX")。
这里是这样的路由:
Routes() {
runApp( new StateContainer(child:
new MaterialApp(
title: "My App",
debugShowCheckedModeBanner: false,
theme: new ThemeData(
primaryColor: defaultTargetPlatform == TargetPlatform.iOS
? Colors.blueGrey[900] : Colors.blueGrey[900],
accentColor: defaultTargetPlatform == TargetPlatform.iOS
? Colors.grey[900] : Colors.grey[900],
),
home: new LoginScreen(),
routes: <String, WidgetBuilder> { //5
'/login': (BuildContext context) => new LoginScreen(), //LoginScreen
'/signup' : (BuildContext context) => new SignupScreen(), // SignupScreen
'/home': (BuildContext context) => new HomeScreen(), //HomeScreen
},
)));
}
}
问题是;每次我导航到一个屏幕时,所有其他屏幕都会在后台更新。我知道是因为我设置了控制台 print("I am here");在每个屏幕中。
这是正常行为吗?我确实想要这个,因为它浪费了 CPU 资源。
我希望我对我做错了什么有一些线索。
【问题讨论】:
标签: navigation flutter