После загрузки и очистки данных память все равно не освобождается.
И самое странное, что если я нажму очистите данные дважды, память может быть освобождена. Как работает UIImage?
Я попробовал использовать UIImage(contentsOf:) и UIImage(data:), и они дали мне то же самое результат.
Код: Выделить всё
import SwiftUI
import Foundation
struct MainView:View {
@State var data:[Data] = []
@State var urls:[URL] = []
var body: some View {
VStack{
Button("clean data"){
data.removeAll()
urls.removeAll()
}
Button("load data"){
loadData()
}
HStack{
ForEach(urls, id: \.self) { url in
Image(uiImage: UIImage(contentsOfFile: url.path)!)
.resizable()
.scaledToFit()
}
}
}
}
func loadData(){
for i in 0...5{
urls.append(Bundle.main.url(forResource: "output\(Int.random(in: 0...2))", withExtension: "png")!)
}
}
}

Подробнее здесь: https://stackoverflow.com/questions/783 ... ase-memory