SwiftUI LazyVGrid 图像滞后

Dev*_*Dev 6 image scrollview swiftui lazyvgrid

当我滚动 LazyVGrid 时,应用程序滞后很多。

\n
 LazyVGrid(\n   columns: [\n       GridItem(.adaptive(minimum: horizontalSizeClass == .compact ? 160:320, maximum: 320), spacing: 16, alignment: .top)\n   ],spacing: 16\n  ){\n     ForEach(viewModel.articles){ article in\n         VStack{\n           ArticleCardView(article: article, animation: animation, show: $show)\n               .equatable()\n
Run Code Online (Sandbox Code Playgroud)\n

文章卡片视图

\n
VStack{\n        if !show {\n            HStack{\n                Text(String(format: "%.2f \xe2\x82\xac", article.rate1))\n                    .fontWeight(.heavy)\n                    .padding(.vertical, 5)\n            }\n            \n            Image(uiImage: readImage(name: "\\(article.id)00"))\n                .resizable()\n                .scaledToFit()\n
Run Code Online (Sandbox Code Playgroud)\n

我使这个视图变得公平,但仍然滞后。滚动不是流畅的。

\n

任何优化滚动的想法。

\n

Phi*_*den 0

要检查的一件事是使用.adaptive GridItem. 进行实验尝试.flexible- 看看它是否更快。

我没有滚动滞后,但注意到 SwiftUI 在使用 时为我的所有记录创建了图块.adaptive,但对.fixed和 的行为却很懒惰.flexible