何かを修正する方法が残っています。私は現在、Instagramという文字通りのiPhoneアプリを持っていますが、ユーザーは友人の写真を見ることができます。コレクションビューで画像をキャッシュする
私はfirebaseからイメージを取得し、それらを配列に配置する関数を作成しました。これで、共有URLSessionを実行すると同時にうまくいきます。私は、私のアプリケーションがメモリ使用量が高くなっていることに気付いたので、URLcacheを追加し、それがどれくらい大きくなるかについての制限を設定しました。しかし、私はまだ高いメモリ(171メガバイト)を取得しています - それは、私はデータの権利をキャッシュしていないように見えるようにする4画像の使用量をロードしているだけです。
私はまだURLSessionsの操作方法やキャッシング方法を学んでいますので、間違って設定すると問題になるかもしれません。オンラインの人々はSDWebImageを使用していると言っていましたが、実際には、最初のページングが有効になっているため、また水平になっているため、スクロールしたりスクロールダウンしたりすることはありません。ここで私のコードのいくつかを教えてください。どうすればいいと思いますか教えてください。
urlcache in
viewDidLoad() { //probably too high..
let memoryCapacity = 500 * 1024 * 1024
let diskCapacity = 500 * 1024 * 1024
let urlCache = URLCache(memoryCapacity: memoryCapacity, diskCapacity: diskCapacity, diskPath: "myDiskPath")
URLCache.shared = urlCache
}
// cellforrow
if posts.count != nil {
let pozt = posts[indexPath.row].pathToImage
let url = URL(string: pozt!)
URLSession.shared.dataTask(with: url!, completionHandler: { (data, response, error) in
if error != nil {
print(error?.localizedDescription as Any)
return
}
DispatchQueue.main.async {
cell.myImage.image = UIImage(data: data!)
self.loader.stopAnimating()
}
}).resume()
}
cell.myImage.image = UIImage(named: imaqes[0])
return cell
}
を役に立てば幸いそれは?役立っている:)私は意味 –