我有一個非常簡單的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你。我希望這個問題有一個簡單的解決方案。
運行泄漏儀器查找泄漏的實例。 –