Mobile Browser Limiti di cache, Revisited
12 Luglio, 2010 alle 8:45 am da Ryan Grove | In Development , le prestazioni | 9 commentiIn Limiti della cache del browser per cellulari: Android, iOS e webOS , ho condiviso i risultati dei miei tentativi di determinare i limiti della cache del browser su Android, iOS e dispositivi webOS. Alla fine di questo articolo, ho scritto:
Utilizzare questi risultati come punto di partenza, ma verificare voi stessi prima di prendere importanti decisioni basate su ipotesi relative limitazioni di cache mobili. I mobili del browser cambia mondo a un ritmo un fulmine, quindi questa ricerca avrà una durata molto breve.
Come si è visto, che era un buon consiglio: il giorno dopo l'articolo è stato inviato, Steve Souders ha commentato che aveva eseguito i test utilizzando una metodologia diversa che fosse più rappresentativo di un mondo reale del flusso di lavoro web e aveva ottenuto risultati diversi.
Nuova metodologia
La mia metodologia originale coinvolti navigare direttamente a una pagina generata casualmente di una certa dimensione, servito con un text/html tipo di contenuto. I risultati che utilizzano questa metodologia sono riproducibili in modo affidabile (eccetto webOS), ma, come ha sottolineato Steve, gli utenti non passare direttamente ai file CSS e JavaScript. La mia ipotesi che i limiti per la navigazione direttamente una risorsa HTML erano gli stessi limiti per i CSS e JavaScript esterno non era corretto, quindi, anche se i risultati dei miei test sono stati validi, non erano ampiamente applicabile.
Nel corso delle sessioni di messaggistica istantanea, e-mail molti diversi, e un paio di telefonate, Steve e ho elaborato una nuova metodologia di test. Ho implementato una versione di esso sulla parte superiore del mio quadro cache di testing , quindi Steve implementò una versione in grado di pubblicare risultati Browserscope .
Nei nuovi test, si carica una pagina HTML che fa riferimento a un generata a caso CSS o JavaScript componente di una certa dimensione. Poi passare a una seconda pagina HTML che carica il componente stesso e verifica se sia o non è stato caricato dalla cache. Per determinare se un componente è stato caricato dalla cache, abbiamo memorizzare un timestamp in un cookie per ogni richiesta, se il timestamp viene aggiornata la seconda volta abbiamo caricare il componente, sappiamo che la richiesta ha colpito il server, il che significa che il componente non è stato caricato dalla cache.
Nuovi risultati
Abbiamo trovato che tutti i browser per dispositivi mobili che abbiamo provato aveva dei limiti della cache significativamente più elevati per le risorse esterne caricate da una pagina di quello che ha fatto per una pagina HTML stessa. Questa è un'ottima notizia per gli sviluppatori web mobile.
La tabella sottostante illustra i nostri risultati:
| Browser / OS / Device | Componente Limit singolo | Sopravvive Ciclo di alimentazione |
|---|---|---|
| Android 2.2 (Nexus One) | 2MB | Sì |
| Safari Mobile, iOS 3.1.3 (1 ° gen-iPhone) | + 4MB | No |
| Safari Mobile, iOS 3.2 (iPad) | + 4MB | No |
| Safari Mobile, iOS 4.0 (iPhone 3GS) | + 4MB | No |
| Safari Mobile, iOS 4.0 (iPhone 4) | + 4MB | No |
| webOS 1.4.1 (Palm Pre Plus) | ~ 0.99MB (1023 KB) | Sì |
Si noti che 4MB era la più grande dimensione che abbiamo provato, e tutti i dispositivi iOS componenti 4MB cache. Il limite della cache effettiva sostenuta per tali dispositivi può essere più grande di 4MB. Inoltre, sul webOS Palm Pre Plus. ha dato risultati coerenti in questo test, mentre ha avuto alcuni problemi nel test precedente.
È possibile che i limiti molto inferiori mio test precedente mostrato per componenti HTML su iOS può indicare l'uso di una cache RAM per quei componenti, mentre i limiti molto più elevato per CSS / JS componenti in questo test può indicare l'uso di una cache disco, ma questa è solo una congettura. Android, almeno, sembra di usare una cache del disco in entrambi i casi, dal momento che la cache sopravvive cicli di potenza.
Nuove raccomandazioni
Sulla base di questi nuovi risultati, insieme con i risultati dei miei test precedenti, io offro il seguente aggiornato una serie di raccomandazioni:
- Utilizzare lontano futuro intestazioni di scadenza della cache. Questo modo si evita il browser di dover inviare una richiesta GET condizionale.
- Cercate di limitare le pagine HTML per 25.6KB o meno se si vuole che da memorizzare nella cache, in quanto le prove precedenti hanno mostrato che questo limite, imposto da iOS 3.2 su iPad, era il più basso limite di risorse HTML dei dispositivi testati.
- Tenere i componenti CSS e JS inferiori ad 1MB. Naturalmente, 1MB è enorme ed i componenti dovrebbe essere molto più piccolo di questo, ma non preoccupatevi suddivisione di un componente in richieste separate per motivi di cacheability a meno che le sue dimensioni si avvicina a 1 MB.
- Si consiglia di utilizzare la cache dell'applicazione HTML5 se è importante che i componenti persistono nella cache per un lungo periodo, o attraverso cicli di potenza.
- Fate il vostro test personale. Ho sottolineato l'importanza di questo nel mio precedente articolo e io lo sottolineare ancora una volta qui. Utilizzare questi risultati come punto di partenza, ma verificare voi stessi prima di prendere decisioni importanti basate su di essi.
Condividi ed estendere: Segnalibro con Del.icio.us | Digg it! | reddit!
9 commenti
Siamo spiacenti, il commento forma è chiusa in questo momento.

Copyright © 2006-2012 Yahoo! Inc. Tutti i diritti riservati. Privacy Policy - Termini di servizio
Powered by WordPress su Yahoo! Web Hosting .

[...] Aggiornamento (12 luglio 2010): Mentre i risultati descritti in questo articolo sono accurate per le pagine HTML, nuovi test hanno rivelato i limiti della cache molto diverse per le risorse CSS e JS. I risultati aggiornati sono descritti nei limiti mobili cache del browser, Revisited. [...]
Pingback da Limiti della cache del browser per cellulari: Android, iOS e webOS »sul blog di Yahoo! User Interface (YUIBlog) - 12 luglio 2010 #
[...] Molte grazie a Ryan Grove per la lavorazione di questo test cache - Vai suo post aggiornato: Mobile Limiti cache del browser, Revisited. E grazie a Lindsey Simon per fare Browserscope un tale quadro grande per crowdsourcing [...]
Pingback da siti web ad alta prestazioni :: MOBILE dimensioni dei file della cache - 12 Luglio 2010 #
[...] Mobili Limiti cache del browser, Revisited - Ryan Grove dà un aggiornamento sul loro lavoro precedente sulla cache del browser mobile con una metodologia aggiornata che conduce a risultati diversi. [...]
Pingback da Il Mattino Brew - Chris Alcock »Il Mattino Brew # 641 - 12 LUGLIO 2010 #
[...] More Opera Mobile 10.1 per S60: gelocation W3C, border-radius e le trasformazioni 2D su S60 Limiti cache del browser per cellulari della piattaforma, rivisitate da Ryan dimensioni della cache dei file Grove Mobile (e altri test di performance sui dispositivi mobili) da Steve [. ..]
Pingback da Venerdì link: studi sulle prestazioni mobili, l'elemento prossimo, e altro ancora (15 luglio) | David B. Calhoun - Developer Blog - 16 luglio 2010 #
Può spiegare più su "Valutare l'utilizzo della HTML5
applicazione cache "?
Commento di Jitendra Vyas - 29 Dicembre 2010 #
[...] Prossima volta che viene riprodotto il video, lo schema si ripete. Nulla sembra essere memorizzate nella cache. Sulla base di precedenti ricerche in iPhone 4 dimensioni della cache, avrei aspettarsi anche il video 3.8MB per ottenere cache. Quello che mi aspettavo a [...]
Pingback da Quando è Safari Mobile non è Safari Mobile? «Nube Four - 12 Gennaio 2011 #
[...] 2010, il team di Yahoo User Interface eseguito test approfonditi sui limiti della cache dei dispositivi più diffusi-mobili. Essi hanno scoperto che l'iPad con iOS 3,2 avuto il limite più basso, solo caching elementi che erano [...]
Pingback da Mobile Web Best Practices per lo sviluppo - Suggerimenti partire - HTML5, CSS3, jQuery, AJAX e più discusse da kaidez - 8 giugno 2011 #
Banda considerazioni ...
Tecnici di dispositivi supportati ....
Trackback da Confluence: Frameworks OTG - 16 Giugno 2011 #
Ciao,
Il limite per i file css è per il file compresso che viene trasferito sulla rete, oppure è la dimensione del file dopo che si de-compresso sul browser client mobile?
Commento di Andrei - 19 Giugno 2011 #