2017-05-16 3 views
1

J'ai une vue Web dans mon application Android qui affiche uniquement les pages Web d'un site Web particulier et je souhaite que la page Web soit chargée efficacement. Il est donc possible d'améliorer l'efficacité du chargement des pages grâce à des techniques telles que la mise en cache ou autre chose pour que le chargement de l'URL soit le plus optimisé possible.Augmenter la vitesse de chargement des pages Web fréquemment utilisées dans l'affichage Web Android

Répondre

0

Le moyen le plus simple de charger efficacement une page Web est de la mettre en cache. Vous pouvez écrire du code ci-dessous:

WebView webView = new WebView(context); 
webView.getSettings().setAppCacheMaxSize(5 * 1024 * 1024); // 5MB 
webView.getSettings().setAppCachePath(getApplicationContext().getCacheDir().getAbsolutePath()); 
webView.getSettings().setAllowFileAccess(true); 
webView.getSettings().setAppCacheEnabled(true); 
webView.getSettings().setJavaScriptEnabled(true); 
webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); 

//This part will load the web page if the network is not available. 
    if (!isNetworkAvailable()) { 
    webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); 
    } 

    webView.loadUrl("http://www.google.com"); 

La méthode isNetworkAvailable() vérifie une connexion réseau active:

private boolean isNetworkAvailable() { 
    ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); 
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); 
    return activeNetworkInfo != null && activeNetworkInfo.isConnected(); 
} 

Enfin, ne pas oublier d'ajouter les trois autorisations suivantes à votre AndroidManifest. xml:

<uses-permission android:name="android.permission.INTERNET"/> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>