如何选择TTURLRequestCachePolicy?

Que*_*yot 3 caching three20

我正在使用Three20构建应用程序,我正在使用照片库组件.

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

你能解释一下他们每个人吗?

TTURLRequestCachePolicyDefault
TTURLRequestCachePolicyDisk
TTURLRequestCachePolicyEtag
TTURLRequestCachePolicyLocal
TTURLRequestCachePolicyMemory
TTURLRequestCachePolicyNetwork
TTURLRequestCachePolicyNoCache
TTURLRequestCachePolicyNone
Run Code Online (Sandbox Code Playgroud)

谢谢 !

apo*_*rat 5

我不确定每种类型的确切政策,并且没有很好的文件记录.这些是我通过使用和阅读代码发现的信息:

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

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

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

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

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

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

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

TTURLRequestCachePolicyDefault - 将查询所有缓存类型的请求(除了etag)

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