如何选择TO URLRequest CachePolicy?

时间:2011-08-23 07:14:45

标签: caching three20

我正在使用Three20构建应用,我正在使用照片库组件。

我找不到任何有关可用的不同缓存策略的文档。

你可以向我解释一下吗?

TTURLRequestCachePolicyDefault
TTURLRequestCachePolicyDisk
TTURLRequestCachePolicyEtag
TTURLRequestCachePolicyLocal
TTURLRequestCachePolicyMemory
TTURLRequestCachePolicyNetwork
TTURLRequestCachePolicyNoCache
TTURLRequestCachePolicyNone

谢谢!

1 个答案:

答案 0 :(得分:5)

我不确定每种类型的确切政策,并且没有详细记录。这些是我通过使用和阅读代码找到的信息:

TTURLRequestCachePolicyNone - 请求不会使用three20缓存系统。意味着每个请求都将执行网络请求。

TTURLRequestCachePolicyMemory - 请求将尝试在设备内存中查找现有的缓存对象。每次终止应用程序时都会清理内存。不确定它有多有用。从我看来,它只适用于UIImage对象

TTURLRequestCachePolicyDisk - Three20将缓存对象作为文件保存在应用程序文档文件夹中。该请求将仅查看该磁盘缓存。

TTURLRequestCachePolicyNetwork - 不确定。我认为它会检查内容的标题过期日期。

TTURLRequestCachePolicyNoCache - 不会缓存新响应,也不会在现有缓存​​中查找缓存对象

TTURLRequestCachePolicyEtag - 将根据标题etag查看请求。我认为它在三十二中有点儿,所以最好不要使用它。

TTURLRequestCachePolicyLocal - 将在磁盘和磁盘上查看请求。内存缓存

TTURLRequestCachePolicyDefault - 将在所有缓存类型中查找请求(除了etag)

根据我的经验,我使用TTURLRequestCachePolicyDefault我想要的到期时间,TTURLRequestCachePolicyNoCache用于我想要禁用缓存的请求,并确保每个请求都在进行网络呼叫。