очистка кеша веб-просмотров для локальных файлов

Я нашел несколько похожих сообщений, но они, похоже, не влияют на то, что я делаю. У меня есть UIWebView , который я использую для отображения локального содержимого в моем пакете. Конкретно я показываю файл docx. Пользователь должен редко когда-либо просматривать этот документ, а моему приложению не хватает памяти, поэтому я хочу предотвратить кэширование документа UIWebView . Другой приемлемый вариант - очистить кеш, когда пользователь покидает представление. Я полностью согласен с необходимостью загружать его с нуля каждый раз, когда пользователь входит в представление.

Я загружаю документ следующим образом:

NSString * path = [[NSBundle mainBundle] pathForResource:[NSString stringWithFormat:@"Intro text"] ofType:@"docx"];
NSURL * url = [NSURL fileURLWithPath:path];
request = [NSURLRequest requestWithURL:url];

doc_view_rect = CGRectMake(5,105,self.view.frame.size.width,self.view.frame.size.height);
doc_viewer = [[UIWebView alloc] initWithFrame:doc_view_rect];
[doc_viewer loadRequest:request];

В моих попытках остановить кеширование я пробовал:

[[NSURLCache sharedURLCache] setMemoryCapacity:0];
[[NSURLCache sharedURLCache] setDiskCapacity:0];

И:

NSURLCache *sharedCache = [[NSURLCache alloc] initWithMemoryCapacity:0 diskCapacity:0 diskPath:nil];
[NSURLCache setSharedURLCache:sharedCache];
[sharedCache release];
sharedCache = nil;

И:

if(request) {
    [[NSURLCache sharedURLCache] removeCachedResponseForRequest:request];
}
[[NSURLCache sharedURLCache] removeAllCachedResponses];

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

Я не думаю, что это правильное направление. Все они были помечены как способы остановить кеширование веб-страниц, но, похоже, они не влияют на локальные файлы. Я действительно не уверен, куда еще пойти с этим. Если кто-нибудь знает, как принудительно очистить кеш или вообще предотвратить кеширование, я был бы очень признателен за помощь.

8
задан Cezar 18 July 2013 в 14:40
поделиться