将图像加载到表格视图单元格时,我遇到了严重的内存问题。使用autoreleasepool
纠正问题的正确方法是什么?我试过了:
for i in 0 ..< 5 {
autoreleasepool {
for j in 0 ..< 1000 {
image = UIImage(data: data)
dispatch_async(dispatch_get_main_queue(), {
if let cellToUpdate = tableView.cellForRowAtIndexPath(indexPath) {
// cellToUpdate.imageView?.image = image
cell.imageView!.image = image
}
})
}
}
}
答案 0 :(得分:1)
我在我的代码中使用了这种结构,它可以帮助您解决问题:
func tooManyPictures() {
let file = pathForResourceInBundle
for _ in 0 ..< 5 {
autoreleasepool {
for _ in 0 ..< 1000 {
let image = NSImage(contentsOfFile: file)
}
}
}
}