[英]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.