iCloud照片库 - 最初小于请求大小的图像的本地缓存

时间:2015-01-19 14:46:09

标签: caching icloud ios8.1 photokit

我们对设备缓存是如何工作以及它是如何工作有点困惑。原始分辨率小于请求中指定的图像似乎根本没有缓存,每次调用RequestImageForAsset时,图像总是从云中拉出。 当它发生时,它也会显示一个有趣的行为,我们没有看到它记录在案。虽然RequestImageForAsset回调不会返回错误,但预期生成的UIImage为nil。获取图像的唯一方法是再次以较小的尺寸请求它 显示此行为的照片显示在"照片应用"有一个白点。只有在通过双击强制放大后,该点才会消失,只有在那之后我们才能通过RequestImageForAsset正确地请求它。

欢迎任何帮助

欢呼声 曼努埃尔

2 个答案:

答案 0 :(得分:0)

缓存行为(由于我的测试)取决于很多因素:

1)如果用户已设置"优化存储"或"保留原件"在照片设置

2)设备上有多少空间。

简而言之:我不会假设任何缓存行为。只需使用提供的PhotoKit方法来请求资产的数据/图像。

答案 1 :(得分:0)

我不同意你的意见。您必须了解本地缓存的工作原理:

1 - 根据您在应用中的操作,做出一些决定,比如您应该自己缓存照片

2 - 了解错误与特征之间的区别。 Photokit看起来不错。然而,它的实现已经显示了很多问题(真正的错误)和诸如从8.0 beta 5更改为8.0发布master最近添加/相机滚动等暴露了一些内部混淆