firebaseから画像を取得し、配列に追加した後、それらをURLセッションのコレクションビューに配置する非常に簡単なiOSアプリケーションがあります。 1つの問題、つまり画像のコレクションビューを保持するビューは、メインビューとは別のビューです。そのため、ユーザーがビューをクリックするたびに、メモリの使用状況がわかります。クリックすると、メモリは変更されません。ビューがプッシュされるたびに、メモリ使用量が上昇し続けます。私はメインビューでURLセッションを行ったときにこの問題を経験したことはありませんが、今は別のビューで問題があります。イメージをつかむためにURLから画像をダウンロードするときにNsurlsessionメモリリークが発生する
:ここに画像をダウンロードするための私のコードがある
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方法、およびこの問題を持っていたことがない見当がつかないので、私は本当にこの問題の解決策を見つけるためにあなたの助けを必要としています。私はこの問題の簡単な解決策があることを願っています。私はあなたはそれがメモリを避けるために完了すると、あなたのセッションのタスクを無効にする必要があると思う
漏洩したインスタンスを探すために漏出計器を実行します。 –