let memoryCapacity = 200 * 1024 * 1024
let diskCapacity = 1 * 1024 * 1024
let cache = URLCache(memoryCapacity: memoryCapacity, diskCapacity: diskCapacity, diskPath: "myDataPath")
URLCache.shared = cache
Run Code Online (Sandbox Code Playgroud)
场景1
我将 urlcache 的内存设置为 200mb,并将磁盘空间设置为 1mb。然后我下载一张图片。关闭互联网并强制退出应用程序,通过点击再次启动应用程序,并触发调用(下载图像),但它立即崩溃,data
因为nil
不用说,如果我关闭互联网,它仍然会按预期从缓存中读取,并且不会发生崩溃。
场景2
如果我将 diskCapacity 设置为 200mb ( let diskCapacity = 200 * 1024 * 1024
),那么即使缓存被刷新出内存,图像仍然保留在磁盘中;它会永远显示!
根据这一观察,我有以下问题: