【发布时间】:2020-09-14 19:09:52
【问题描述】:
我需要使用查询列表进行嵌套循环,而不是循环所有内容,因为它会导致一些内存泄漏和颤动崩溃。 这会导致永远不会结束的冻结。
这里有一个解释:
我有这些课程:
class Station {
String stationName;
}
class Line {
String lineName;
List<station> inLine;
}
现在我有 2 个Line 列表,我需要检查有相互站的线路。这是我使用的代码:
List<Station> mutualStations = [];
for (Line singleLine in listNumberOne) {
for (Station inline in singleLine.inLine){
for(line secondLine in listNumberTwo) {
for(station secondInLine in secondLine.inLine){
if (inline.name == secondInLine.name) {
Station instanceOFStation = Station(name: inLine.name);
mutualStations.add(instanceOFStation);
}
}
}
}
}
And for sure this code is a huge memory leak and am sure flutter have an easier way to do it .. anyone can help?
【问题讨论】:
-
当您说“泄漏”时,是否真的存在泄漏,或者仅仅是峰值内存使用率高于您的预期?也许您可以分享(a)崩溃的细节; (b) 您如何诊断内存“泄漏”的详细信息。
-
它只是冻结,唯一摆脱它的方法就是关闭应用程序
-
就像 Rob 说的,这里没有无限循环或任何东西。也许只是一些繁重的处理?在每个循环的开头(以及在您的 if 条件内)放置一些
print语句,以查看发生了什么。
标签: android ios flutter memory-leaks