返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >SwiftUI List在MacOS中的性能优化示例
  • 306
分享到

SwiftUI List在MacOS中的性能优化示例

2024-04-02 19:04:59 306人浏览 独家记忆
摘要

引言 List在iOS中有懒加载的特性,但是在MacOS中会一次性加载完List中的所有的数据。并没有懒加载的特性。 所以在MacOS的List中当数据量巨大时,会存在巨大的性能瓶颈

引言

List在iOS中有懒加载的特性,但是在MacOS中会一次性加载完List中的所有的数据。并没有懒加载的特性。

所以在MacOS的List中当数据量巨大时,会存在巨大的性能瓶颈。

  var body: some View {
    List(){
        ForEach(currentSectionModel) { (sectionModel) in
            Section(header:
                        HStack {
                Text("section")+Text(sectionModel.Word).font(.title).foregroundColor(.red)
                        }.frame(height:35)
            ) {
              ForEach(currentSectionModel, id: \.self) { (wordModel) in
                  Text(wordModel.word)
                }
            }
        }
    }

当数据量达到15000条时, 在16寸i9的mbp上加载时长需要4.53s

这个时候建议使用 ScrollView + LazyVStack(macOS 11, iOS14支持)

ScrollView {
    LazyVStack {
    }
}

来获取巨大性能提升

  var body: some View {
    ScrollView {
        LazyVStack {
            ForEach(currentSectionModel) { (sectionModel) in
                Section(header:
                            HStack {
                    Text("section")+Text(sectionModel.word).font(.title).foregroundColor(.red)
                            }.frame(height:35)
                ) {
                  ForEach(currentSectionModel, id: \.self) { (wordModel) in
                      Text(wordModel.word)
                    }
                }
            }
        }
    }.onAppear {
        DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) {
            currentSectionModel = storeData
        }
    }
}

实测加载15000 条数据加载时长为31ms 加载时长为原来的 0.0068倍。 因为只加载了显示的部分,所以性能提升巨大。

以上就是SwiftUI List在MacOS中的性能优化示例的详细内容,更多关于SwiftUI List性能优化MacOS的资料请关注编程网其它相关文章!

--结束END--

本文标题: SwiftUI List在MacOS中的性能优化示例

本文链接: https://www.lsjlt.com/news/166744.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • SwiftUI List在MacOS中的性能优化示例
    引言 List在iOS中有懒加载的特性,但是在MacOS中会一次性加载完List中的所有的数据。并没有懒加载的特性。 所以在MacOS的List中当数据量巨大时,会存在巨大的性能瓶颈...
    99+
    2024-04-02
  • mysql性能优化的示例
    小编给大家分享一下mysql性能优化的示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!历史很久远的一篇文章了,不记得是从哪里记...
    99+
    2024-04-02
  • SQL性能优化的示例
    小编给大家分享一下SQL性能优化的示例,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!SQL性能优化1、SELECT 语句...
    99+
    2024-04-02
  • Android性能优化之内存优化的示例分析
    这篇文章主要介绍Android性能优化之内存优化的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、Android内存管理机制1.1 Java内存分配模型先上一张JVM将内存划分区域的图程序计数器:存储当前线...
    99+
    2023-06-15
  • 前端性能优化的示例分析
    这篇文章给大家分享的是有关前端性能优化的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。反复看下以下三个问题。有木有不同的人问过你:什么是前端性能优化?有木有不同的面试官问...
    99+
    2024-04-02
  • Android性能图论在启动优化中的应用示例详解
    目录正文1 图论的基础知识1.1 有向无环图1.2 拓扑排序1.3 拓扑排序实现2 任务管理2.1 任务启动2.2 线程管理2.2.1 wait/notify2.2.2 CountD...
    99+
    2024-04-02
  • GaussDB for MySQL性能优化的示例分析
    小编给大家分享一下GaussDB for MySQL性能优化的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!背景我们先来看看MySQL 8.0的事务提交的...
    99+
    2023-06-15
  • PHP中封装性的性能优化实例
    封装性是面向对象编程的重要原则之一,它可以提高代码的复用性、可维护性和可扩展性。然而,过多的封装可能会带来性能上的损耗。本文将介绍一些PHP中封装性的性能优化实例,并提供具体的代码示例。采用魔术方法动态访问属性和方法。在PHP中,我们可以通...
    99+
    2023-10-21
    性能优化 实例 封装性
  • Project Reference优化TypeScript编译性能示例
    目录引言Project Reference总结引言 TypeScript 给 JavaScript 添加了一套类型系统,可以在编译期间检查出类型错误,这增加了代码的健壮性,但也多了一...
    99+
    2022-11-13
    Project Reference优化TypeScript TypeScript编译性能优化
  • MySQL数据库性能优化之SQL优化的示例分析
    这篇文章将为大家详细讲解有关MySQL数据库性能优化之SQL优化的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  注:这篇文章是以 MySQL 为背景,很多内容...
    99+
    2024-04-02
  • MySQL大数据查询性能优化的示例
    这篇文章将为大家详细讲解有关MySQL大数据查询性能优化的示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MySQL性能优化包括表的优化与列类型选择,表的优化可以细分为...
    99+
    2024-04-02
  • MySQL批量SQL插入的性能优化示例
    小编给大家分享一下MySQL批量SQL插入的性能优化示例,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!对于一些数据量较大的系统,数据库面临的问题除了查询效率低下,还有就是数据入库时间长。特别像...
    99+
    2024-04-02
  • ORACLE数据库性能优化的示例分析
    这篇文章给大家分享的是有关ORACLE数据库性能优化的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。ORACLE数据库的优化方式和MYSQL等很大的区别,今天通过一个OR...
    99+
    2024-04-02
  • vue长列表性能优化的示例分析
    小编给大家分享一下vue长列表性能优化的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!长列表性能优化我们应该都知道vue...
    99+
    2024-04-02
  • MySQL数据库性能优化的示例分析
    小编给大家分享一下MySQL数据库性能优化的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!为什么做优化??因为数据量太多了,项目部署上线再到用户使用,每天...
    99+
    2023-06-22
  • 单例模式在PHP中的性能测试与优化
    引言:单例模式是一种常见的设计模式,它用于确保一个类只能生成一个实例。在PHP中,单例模式可以帮助我们避免多次实例化一个类,从而提高程序的性能。本文将介绍如何测试和优化PHP中的单例模式,并提供具体的代码示例。单例模式简介单例模式是一种创建...
    99+
    2023-10-21
    优化 单例模式 性能测试
  • IOS在SwiftUI中显示模态视图的实例代码
    简介 这里教大家如何弹出一个简单的模态视图。分别有两个页面,ContentView和GCPresentedView,以下对应简称为A和B。我们要做的是在A视图中点击按钮跳转到B视图,...
    99+
    2022-05-30
    ios swiftUI 模态视图
  • CSS3动画卡顿性能优化的示例分析
    这篇文章给大家分享的是有关CSS3动画卡顿性能优化的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。为什么会卡顿?有一个前提必须要提,前端开发者们都知道,浏览器是单线程运行...
    99+
    2024-04-02
  • webpack构建性能优化策略的示例分析
    小编给大家分享一下webpack构建性能优化策略的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!背景如今前端工程化的概念...
    99+
    2024-04-02
  • PHP 数组在 Linux 中的性能优化?
    PHP 数组是 PHP 语言中最常用的数据结构之一,它可以存储多个数据元素,并且可以根据下标来访问这些元素。在 PHP 中,数组可以通过多种方式创建和操作,但是在 Linux 环境下,我们需要注意一些性能问题。 使用合适的数组函数 P...
    99+
    2023-06-18
    linux 数组 npm
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作