0

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

欢迎任何帮助

欢呼曼努埃尔

4

2 回答 2

0

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

1) 如果用户在照片设置中设置了“优化存储”或“保留原件”

2) 设备上有多少可用空间。

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

于 2015-02-13T12:35:20.937 回答
0

我不得不不同意你的看法。您必须了解本地缓存是如何工作的:

1 - 根据您在应用程序中所做的事情,做出一些决定,例如您是否应该自己缓存照片

2 - 了解错误和功能之间的区别。Photokit 看起来不错。但是,它的实现已经显示出很多问题(真正的错误),例如从 8.0 beta 5 更改为最近添加的 8.0 发行版主/相机胶卷,这暴露了一些内部混乱

于 2015-02-14T14:01:31.173 回答