为什么这个内存泄漏?
在这个例子中,每次我按下“Click”,都会分配 50M 的内存。它永远不会被回收,我可以推送 30 个页面并占用 1.5GB,尽管导航堆栈上只有 1 个页面。GC 永远不会启动。这是怎么回事?
Flutter (Channel master, 2.1.0-11.0.pre.122, on Microsoft Windows [Version 10.0.18363.1440], locale en-US)
void main() {
runApp(MaterialApp(
home: MemoryTest(),
));
}
class MemoryTest extends StatelessWidget {
final List<EdgeInsets> insets = List.generate(
1000000,
(index) => EdgeInsets.all(0),
);
@override
Widget build(BuildContext context) {
return Container(
color: Colors.white,
child: Column(
children: [
OutlinedButton(
child: Text("CLICK"),
onPressed: () {
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (_) => MemoryTest(),
));
},
),
],
),
);
}
}