UIImage не освобождает памятьIOS

Программируем под IOS
Ответить
Anonymous
 UIImage не освобождает память

Сообщение Anonymous »

Код ниже воспроизводит то, с чем я столкнулся.
После загрузки и очистки данных память все равно не освобождается.
И самое странное, что если я нажму очистите данные дважды, память может быть освобождена. Как работает 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»