我最近开始研究 SwiftUI 并浏览了一些推荐基于状态交换视图的教程(请参阅下面的代码段)。但是,我在调试时注意到,即使是最基本的 UI,内存使用量也会慢慢增加。这可能只是缺乏知识,但是以这种方式与 SwiftUI 交换视图是错误的吗?
Version 11.0 (11A420a) - iOS 13
// Memory Leak Test
struct ContentView: View {
@State private var toggle = false
func cycleViews() {
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
self.toggle = !self.toggle
self.cycleViews()
}
}
var body: some View {
Group {
if toggle {
ViewA()
} else {
ViewB()
}
}.onAppear {
self.cycleViews()
}
}
}
struct ViewA: View {
var body: some View {
VStack {
Text("Some Content")
Text("Some Content")
Text("Some Content")
Text("Some …Run Code Online (Sandbox Code Playgroud)