2012-02-29 13 views
5

Sperando che qualcuno possa guidarmi nella giusta direzione qui. Il mio sito mobile quando visualizzato attraverso il browser Android nativo carica in meno di un secondo, forse due secondi. Lo stesso sito quando si trova all'interno di una webview impiega almeno 5 secondi per caricarsi, sempre e comunque. Dopo la navigazione StackOverflow ricerca di una soluzione, ho aggiunto:Performance webview Android, cosa mi manca?

webView.getSettings().setRenderPriority(RenderPriority.HIGH); 
    webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); 

e

//Disable Caching 
    try 
    { 
     Method m = CacheManager.class.getDeclaredMethod("setCacheDisabled", boolean.class); 

     m.setAccessible(true); 

     m.invoke(null, true); 

    } 

    catch (Throwable e) 

    { Log.i("MyApp","Reflection failed", e); 

    } 

Eppure, il sito carichi piuttosto lento. So che nativo è più veloce, ma per flessibilità scavo la visione web. Qualche idea qui? Mi manca qualcos'altro?

risposta

6

Beh ... dopo aver trascorso un po 'di tempo su questo ho trovato il colpevole. Caricamento di file Javascript, non importa se si tratta di un file locale o remoto, minified, ecc, aggiunge overhead significativo per il tempo di caricamento della WebView. Inoltre, non importa se gli script sono collocati nel o prima del tag, i risultati sono più o meno lo stesso, almeno nel mio caso.

Una soluzione che ho trovato è stato quello di utilizzare head.js per caricare gli script in modo non bloccante. Ha sicuramente aiutato. Ad ogni modo, basta postare questo per gli altri che si imbattono in una situazione simile.

+0

come utilizzare head.js – peter

+0

la documentazione @peter può essere trovata qui: http://headjs.com/ tuttavia, ora sto usando un altro metodo per combinare e minimizzare tutti i miei file js/css. – Eedresha

Problemi correlati