【发布时间】:2020-03-30 21:33:32
【问题描述】:
我的翠鸟缓存有问题。场景:我将图像从 URL 保存到自定义翠鸟缓存。
当我读取给定的 URL 时,它告诉我它首先从内存中获取图像,几秒钟后刷新时从磁盘中获取图像。当我手动关闭应用程序并重新启动时,打开时,翠鸟告诉我缓存磁盘大小为 20MB。 (这是我所期望的)
基本上,缓存始终完美运行,除了:当我将应用程序移至后台时,它会保持打开状态 5-30 分钟,直到 Apple/iOS 将其杀死 (Terminated due to signal 9)出于记忆的原因。当我启动应用程序时,缓存(内存和磁盘)都是空的!这怎么可能?用户和苹果杀应用有什么区别?
【问题讨论】:
-
这不正是缓存的意义吗?如果有内存问题会被清理吗?所以如果你不想要这个,你必须把你的图像保存在另一个目录中......
-
最好找出您的应用程序由于内存问题而崩溃或终止的原因。如果您尝试存储超过设备可用内存。如果您的应用程序没有可用内存,Off-course OS 将终止。首先解决你的问题。
-
嘿@Chris - 部分正确,但这不是翠鸟将内存缓存移动到磁盘的原因吗?磁盘存储不应受到内存问题的影响?
-
不,因为磁盘存储在临时目录中,也会被清理
-
@Chris 感谢您的澄清,很高兴知道!是否可以将临时目录移动到更永久的目录?
标签: ios swift caching kingfisher