我最近开始研究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 Content")
Text("Some Content")
}
}
}
struct ViewB: View {
var body: some View {
List {
Text("Some Content")
Text("Some Content")
Text("Some Content")
Text("Some Content")
Text("Some Content")
}
}
}