【问题标题】:SwiftUI LazyVGrid lags with imagesSwiftUI LazyVGrid 滞后于图像
【发布时间】:2021-04-03 12:03:32
【问题描述】:

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

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

ArticleCardView

VStack{
        if !show {
            HStack{
                Text(String(format: "%.2f €", article.rate1))
                    .fontWeight(.heavy)
                    .padding(.vertical, 5)
            }
            
            Image(uiImage: readImage(name: "\(article.id)00"))
                .resizable()
                .scaledToFit()

我将此视图设为 Equtable,但仍然滞后。滚动不流畅。

任何优化滚动的想法。

【问题讨论】:

    标签: image swiftui scrollview lazyvgrid


    【解决方案1】:

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

    我没有滚动延迟,但注意到 SwiftUI 在使用 .adaptive 时为我的所有记录创建了磁贴,但在 .fixed 和 .flexible 时表现得很懒惰

    【讨论】:

      猜你喜欢
      • 2013-06-16
      • 1970-01-01
      • 1970-01-01
      • 2020-10-13
      • 1970-01-01
      • 2022-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多