[英]Bad Performance issue for LazyVStack , SwiftUI
我有一个像 100 行的视图:
ForEach(moodEntries.reversed(), id: \.self) { entry in
Button(action: {
self.activeMoodForModal = moodEntries.lastIndex(of: entry) ?? 0
self.showMoodModal.toggle()
}) {
MoodTableViewCard(entry: entry)
}
}.sheet(item: $activeMoodForModal) { item in
MoodEntryModalView(entry: moodEntries[item], saveNote: {
do {
try context.save()
} catch {
print(error)
}
})
}
性能真的很糟糕:当我打开这个视图时,整个应用程序在模拟器上冻结了 3 秒钟。 如果我将ForEach
更改为List
一切正常,那么我认为延迟加载将解决我的问题。 但是我不想弄乱 List 所以我尝试将上面提到的所有代码都放在LazyVStack { }
但这没有帮助:代码的性能和以前一样糟糕。 LazyVStack
真的比List
差很多,还是我做错了什么?
LazyVStack
根本不重用单元格,所以无论你做什么 - 它仍然会滞后于滚动。 如果您的元素多于屏幕大小,并且布局比Text("Hello")
更复杂,请使用List
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.