首页 > 解决方案 > macOS 上 SwiftUI 的内存泄漏和减速

问题描述

我的 macOS SwiftUI 应用程序的内存占用量急剧增加,速度变慢。我能够创建一个最小的示例来重现。要重现 go Xcode -> File -> New -> Project -> macOS -> App -> Life Cycle: SwiftUI App 并将其粘贴并替换为*App.swift

import SwiftUI
@main
struct DemoApp: App {
    let timer = Timer.publish(every: 0.1, on: .main, in: .common).autoconnect()
    @State var number = 0.0
    
    var body: some Scene {
        WindowGroup {
            List {}
            .toolbar(content: {
                ForEach(1..<100) { _ in
                    Text(String(format: "Time elapsed: %.1f ", number))
                        .font(.system(.body, design: .monospaced))
                }
            })
            .onReceive(timer) { input in
                number += 0.1
            }
        }
    }
}

我分析了这个应用程序,它有大量的泄漏和内存占用迅速增长: XCode 分析器

这个错误阻止我启动我的应用程序。我能做些什么?

标签: macosperformancememory-leaksswiftui

解决方案


推荐阅读