Как выбрать TTURLRequestCachePolicy? - PullRequest
3 голосов
/ 23 августа 2011

Я создаю приложение с Three20 и использую компонент фотогалереи.

Я не могу найти документацию о другой доступной политике кэширования.

Не могли бы вы объяснить мне каждый из них?

TTURLRequestCachePolicyDefault
TTURLRequestCachePolicyDisk
TTURLRequestCachePolicyEtag
TTURLRequestCachePolicyLocal
TTURLRequestCachePolicyMemory
TTURLRequestCachePolicyNetwork
TTURLRequestCachePolicyNoCache
TTURLRequestCachePolicyNone

Спасибо!

1 Ответ

5 голосов
/ 30 августа 2011

Я не уверен в точной политике каждого типа, и они плохо документированы.Вот информация, которую я узнал, используя и читая код:

TTURLRequestCachePolicyNone - запросы не будут использовать кэш-систему Three20.это означает, что каждый запрос будет выполнять сетевой запрос.

TTURLRequestCachePolicyMemory - запрос попытается найти существующий объект кэша в памяти устройства.память очищается каждый раз, когда приложение завершается.не уверен, насколько это полезно.из того, что мне показалось, он работает только для объектов UIImage

TTURLRequestCachePolicyDisk - Three20 сохраняет объекты кэша в папке документа приложения в виде файлов.Запрос будет смотреть только на этот дисковый кеш.

TTURLRequestCachePolicyNetwork - не уверен.Я думаю, что он проверяет срок действия заголовка содержимого.

TTURLRequestCachePolicyNoCache - не будет кэшировать новые ответы и не будет искать объекты кэша в существующем кэше

TTURLRequestCachePolicyEtag - запросы будут просматриваться на основе их заголовка etag.Я думаю, что это немного глючит в Three20, поэтому лучше не использовать его.

TTURLRequestCachePolicyLocal - запросы будут просматриваться как на диске, так и в кеше памяти

TTURLRequestCachePolicyDefault - запросы будутпосмотрел во всех типах кеша (кроме etag)

Из моего опыта я использую TTURLRequestCachePolicyDefault со сроком действия, который я хочу, и TTURLRequestCachePolicyNoCache для запросов, я хочу отключить кеш и убедиться, что каждый запрос выполняетсетевой вызов.

...