簡體   English   中英

LazyVStack 和 SwiftUI 的性能問題

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM