Android WebView performance

Dans mon application, je suis le chargement d'une liste d'url externe dans webview et permettre à l'utilisateur de parcourir. Webviews sont chargés sur une vue flipper. Je trouve la performance est vraiment mauvais dans webview charger l'url. J'ai tout essayé en utilisant le cadre de la mise en page à la limitation du nombre de webviews à charger. Encore la performance n'est pas satisfaisante.

Comment puis-je optimiser la performance de webview? Cela devrait être d'un usage courant. Ai-je raté quelque chose d'évident.

Mon Webview paramètres sont -

    webView.setInitialScale(WEBVIEW_SCALE);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setBuiltInZoomControls(false);
    webView.setWebViewClient(new MyWebViewClient());    
    webView.setOnTouchListener( new OnTouchListener());
Êtes-vous sûr que ce n'est pas de charger les données à partir de l'internet le problème?
Nope. Chargement des données. Mais il prend beaucoup de temps.
Le chargement de plusieurs pages à la fois coûteux - même le chargement d'une page web est une opération coûteuse. En mettant de côté tout le traitement de choses comme des images, de mise à l'échelle de la vue sur le port etc. Il y a aussi des restrictions sur les performances de nombreux simultanée des connexions socket. Enfin je suppose que si vous regardez le journal, vous verrez beaucoup de GC thrash. Il n'est pas vraiment conseillé d'avoir beaucoup de WebView est active à la fois. Avec une description quantitative de la "performance n'est pas satisfaisante" ou le combiné vous êtes en cours d'exécution sur, je ne peux que deviner qu'il n'y a pas beaucoup que vous pouvez faire pour l'améliorer.
J'ai passé une bonne quantité de temps à essayer d'optimiser le même genre d'idée, et constaté qu'il n'était pas vraiment une bonne solution. Il y a juste trop de frais généraux entre le chargement de la page et viewflipper. Dans mon cas, j'ai pu obtenir un bon rendement en chargeant chacune des pages sur une seule page, triés par CSS3 colonnes, et à l'aide de fling pour aller entre les colonnes. Il y a toujours un retard comme l'un des grands de la page sera affiché, mais il a été plusieurs fois plus rapide que le chargement de chaque page dans un viewflipper. Qui ne serait vraiment pas compliqué de travailler avec des documents html, mais... le mien a juste eu de texte et quelques images.

OriginalL'auteur Usha | 2010-11-02