【发布时间】:2018-01-14 01:20:52
【问题描述】:
我有一个非常简单的 iOS 应用程序,它从 firebase 中提取图像,将它们添加到数组中,然后将它们放入带有 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
现在问题来了,内存一直在上升,而不是在下降。
我真的需要您的帮助才能找到解决此问题的方法,因为我不知道如何解决,而且以前从未遇到过此问题。谢谢。我希望有一个简单的解决方案来解决这个问题。
【问题讨论】:
-
运行 Leaks 工具以查找泄漏的实例。
标签: ios swift xcode memory memory-leaks