Доступен ли кеш на диске на iPhone?

Я нашел проект по улучшению стратегии кэширования на iPhone. Потому что они уверены: «в iPhone OS Apple удалила поддержку кэша на диске по неизвестной причине"

Но я так не думаю, см. подробности: https://github.com/rs/SDURLCache/issues/39

Я обнаружил, что в папке «Library/Catches/com.company.appname/» с приложением UIWebView есть два файла db:

ApplicationCache.db, Кэш.db

и попробуй эти sql

«выберите * из CacheResourceData», после открытия ApplicationCache.db

"выбрать * из cfurl_cache_receiver_data" на Cache.db

Оба являются содержимым кэш-файла на диске

Так что теперь я в замешательстве, кто может сказать мне правду и доказательства?


person meadlai    schedule 29.08.2012    source источник
comment
если вы получите доступ к этой базе данных, ваша заявка может быть отклонена   -  person Paresh Navadiya    schedule 29.08.2012
comment
NSCache всегда сохраняет в памяти. NSURLCache имеет другую политику хранения.   -  person Felix    schedule 29.08.2012
comment
@ phix23, я пытаюсь установить большую емкость с помощью [NSURLCache setDiskCapacity: 1024 * 1024 * 50]; так что это вызовет некоторые проблемы или повлияет на производительность кеша?   -  person meadlai    schedule 30.08.2012


Ответы (2)


Начиная с iOS 5.0 NSURLCache использует кеш на диске: http://petersteinberger.com/blog/2012/nsurlcache-uses-a-disk-cache-as-of-ios5/

person Fabian Kreiser    schedule 29.08.2012

ApplicationCache.db используется для кэширования кеша HTML5, а Cache.db используется с NSURLCache.

[[NSURLCache sharedURLCache] removeAllCachedResponses]; 

устанавливает Cache.db пустым. (Просматривайте и смотрите в Finder при использовании симулятора iOS)

Если вы удалите ApplicationCache.db из своего каталога, кеш HTML5 будет потерян.

person Sukitha Udugamasooriya    schedule 17.05.2013