问题描述
我真的不明白 Dart 垃圾收集器。
让我们像这样设置一个简单的小部件:
import 'package:Flutter/material.dart';
import 'SecondModule.dart';
class First extends StatefulWidget {
@override
FirstState createState() => FirstState();
}
class FirstState extends State<First> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
toolbarHeight: 60,title: Text("First"),),body: SafeArea(
child: Center(child:
OutlinedButton(onpressed: () => Navigator.push(context,MaterialPageRoute(builder: (context) => Second())),child: Text("Go to second screen")))
),);
}
}
并且基本上第二个小部件是相同的,但推动了第一个。 当我尝试多次推送时,比如 6 次,分配列表显示:
- 3 第一/第一状态
- 3 秒/SecondState
现在让我们继续:
- 弹出到第一个屏幕,它仍然显示 3 First,3 Second。
- 按 12 次,显示 6 First,6 Second。
- 跳到第一个,它会显示随机数量的实例,在多个应用运行中大约在 3 到 6 个之间。
- 如果我使用 DevTools 中的按钮调用垃圾收集器,在它正确显示 1 First/1 Second 之后。
我做错了什么还是 Dart 内存管理应该像这样工作?如何在弹出时从内存中删除小部件?
非常感谢,干杯。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)