我有一个非常简单的iOS应用程序,它从Firebase中提取图像,将它们添加到数组中,然后将它们放入带有url会话的集合视图中。只有一个问题,保存图像集合视图的视图与主视图是分开的视图,因此每次用户点击视图时,都会观察内存使用情况。当你点击后,内存不会改变。每次推送视图时,内存使用量都会不断上升。当我在主视图中执行url会话之前,我从未遇到过这个问题,但现在我在单独的视图中遇到了问题。这里是我的下载镜像代码:从URL下载图像时发生内存泄漏
用于抓取图像:
let ref = firdatabase.dadatabase.reference
ref.child("Pages").queryOrderedByKey.observeSingleEvent(type: .value, snapshot in
if let pages = snapshot.value as? [String : AnyObject] {
for (_, vale) in pages {
let newPage = page()
If let url = vale["url"] as? String {
newpage.url = url
pagers.append(new page)
}
}
collection view.reloadData()
)}
nsurlsession:
if pagers.count != 0 {
let post = pagers[indexPath.row].url
let url = URL(string: post!)
let session = URLSession.shared.dataTask(with: url!, completionHandler: { (data, response, error) in
if let errer = error {
print(errer.localizedDescription)
}
DispatchQueue.main.async {
cell.imageViewPage.image = UIImage(data: data!)
}
})session.resume()
}
return cell
现在,这里的问题是,虽然,内存不断上升,而不是下降过。
我真的需要你的帮助,以找到一个解决这个问题,因为我不知道怎么了,从未有过这个问题before.Thank你。我希望这个问题有一个简单的解决方案。
运行泄漏仪器查找泄漏的实例。 –