【发布时间】:2018-07-28 16:16:23
【问题描述】:
我有一个可展开和折叠的表格视图,它在展开时会显示多个 GIF 文件。在某个时间,当我一次又一次地展开多个部分时,当达到 600 MB 空间时,它会因内存警告而崩溃。
我的实现:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let imageView = UIImageView()
imageView.frame = CGRect(x: 0, y: 0, width: 50, height: 50)
DispatchQueue.global(qos: .background).async {
DispatchQueue.main.async {
let imageData = try! Data(contentsOf: Bundle.main.url(forResource: "compile_animatiion", withExtension: "gif")!)
//imggview.image = UIImage.gif(data: imageData)
imageView.image = UIImage.gifImageWithData(imageData)
cell.addSubview(imageView)
}
}
cell.addSubview(imageView)
}
我的代码使用的是 UIImage+Gif 类,你可以很容易地从 git 中获取它。我需要确切的技术来避免这个内存警告。
示例来源:drive.google.com/open?id=1tlVwaOfWoAronF91YykUtDy_c0iLhAzq
【问题讨论】: