Kingfisherを使って取得した画像が占めるすべてのメモリを解放する必要があります。私は、多くの画像を格納し、さらに読み込み機能を持っているUITableViewを持っています。Kingfisherin UITableViewを使用して読み込まれた画像のメモリとディスクキャッシュをクリアするには?
私はこれらの対策を試みました。
viewDidLoad()では、キャッシュサイズを設定しています。
let cache = KingfisherManager.sharedManager.cache
cache.maxMemoryCost = 50 * 1024 * 1024
// Set max disk cache to 50 mb. Default is no limit.
cache.maxDiskCacheSize = 50 * 1024 * 1024
// Set max disk cache to duration to 3 days, Default is 1 week.
cache.maxCachePeriodInSecond = 60 * 60 * 24 * 3
viewWillDisappear()で私はこれをクリアしています。
cache.clearMemoryCache()
// Clear disk cache.
cache.clearDiskCache()
// Clean expired or size exceeded disk cache.
cache.cleanExpiredDiskCache()
メモリが期待通りに空き状態にならない。私が何かを紛失した場合、親切に私を修正してください。 documentationによると
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
cache.clearMemoryCache()
cache.clearDiskCache()
cache.cleanExpiredDiskCache()
}