2015-08-05 16 views
5

Nella mia app ibrida denomino la risorsa Web, ad esempio , e fornisco loro un'intestazione della cache di durata massima di un anno in modo che i client la tengano più o meno per sempre.UIWebView ignora la cache del disco?

quello che sembra accadere nel mio iOS è, tuttavia, che le UIWebView onori l'intestazione della cache durante la vita del app, vale a dire quando carico una nuova pagina che comprende anche main.css?{same-timestamp} Non sarà nemmeno provare a rinnovare come si sa ha il file giusto nella cache. MA, al momento del nuovo avvio dell'app (dopo essere stato ucciso o il dispositivo spento) lo UIWebView recupera nuovamente tutte le risorse, ignorando la cache. L'ho eseguito tramite Charles Proxy per verificare che questo sia il caso.

Ho cercato all'interno del cache.db SQlite e vedo che main.css?{same-timestamp} è presente, ma lo UIWebView non lo carica dalla cache, causando il caricamento iniziale della pagina notevolmente più lento di quanto potrebbe essere.

L'ho provato su un iPhone con iOS 8.4 e un iPad con iOS 8.2. Stesso risultato

Qualche idea?

risposta

0

Se si desidera controllare la cache, è possibile registrare la sottoclasse NSURLProtocol personalizzata in delegato e quindi utilizzando - (void)startLoading è possibile caricare qualsiasi elemento dalla memoria locale.

Problemi correlati