Pergunta

Ao usar NsurlRequest No iPhone, quais são as diferenças de desempenho do mundo real entre os vários NsurlRequestCachepolicy definições? Estou especificamente interessado no efeito da política de cache na percepção do usuário sobre a velocidade na qual as páginas da UIWebView são exibidas.

Eu tenho usado o padrão NSURLRequestCachePolicy Mas acho que talvez o nsurlrequestroadrevalidatingcachedata possa ser melhor para a maioria dos casos, especialmente quando voltar a uma página anterior.

Se você usou várias políticas de cache em condições do mundo real, qual política se mostrou ótima em uma circunstância específica? Qual política fornece o melhor desempenho geral sobre os três tipos diferentes de conexões para iPhone, Wi-Fi, 3G e Edge? A política do cache tem algum efeito significativo na percepção do usuário sobre a velocidade de carregamento da página ou devo procurar em outro lugar para otimizar o tempo de exibição do UIWebView?

Atualizar:

Parece haver um consenso de que a UIWebView parece ignorar as configurações de cache em qualquer NSURLRequest, dada. Não tenho total confiança de que essa é a resposta final, mas, exceto o tempo para fazer alguns testes extensos, não posso ganhar. Portanto, estou aceitando a resposta mais bem classificada. No entanto, eu aconselho que você pegue as respostas com um grão de sal se o assunto for importante para o seu projeto. - Techzen.

Foi útil?

Solução

Eu não acho que isso fará nenhuma diferença nos tempos de carregamento da UIWebView. Uiwebview é construído no webkit e eles não estão usando NSURLConnection internamente (eles estão em um nível muito mais baixo e usam CFNetwork diretamente).

Provavelmente não é isso que você deseja ouvir, mas provavelmente a melhor maneira de acelerar o tempo de carregamento da UIWebView é não usar um UIWebView. A renderização da web é bastante intensiva em CPU. De fato, o MobileSafari é realmente ligado à CPU, não ligado à rede-observe quanto tempo leva para preencher esse padrão de quadro de xadrez ao rolar, por exemplo. Para um conteúdo muito rápido e rápido, é melhor criar uma interface nativa no cacau.

Outras dicas

I algumas horas para um projeto tentando obter um UIWebView Para cache as páginas que eu estava carregando. Isso se mostrou impossível do lado do aplicativo sem armazenar os arquivos localmente. Parece que UIWebView ignora o NSURLRequestCachePolicy completamente.

Yahoo! tem algumas informações no comportamento de cache do iPhone.

Acabei de fazer um grep nas fontes do webkit e não encontrei nenhum uso do -[NSURLRequest cachePolicy].

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top