2015-10-29 4 views
0

J'ai une Webview qui ouvre une page qui montre différentes images comme une galerie.Android WebView image affichée partiellement

L'image est enregistrée localement sur une carte SD et est chargée via css avec background-image: url (fichier: // ...).

Ce problème semble (pas sûr cependant) d'être connecté à la demande de ressources d'Android pour une raison quelconque. Plus le système d'exploitation a besoin de ressources, plus la bande blanche (ou noire) est grande. Cela ne se produit pas toujours lors d'une session de test et affecte les images de manière aléatoire (dans un cycle, une image donnée s'affiche correctement, dans la suivante elle ne l'est pas). Aussi, il semble affecter uniquement les images, l'affichage d'un iframe est toujours chargé normalement.

Je n'aurais pas de problème si cela se produisait pendant une seconde, puis il afficherait normalement, le problème est que l'image reste comme ça jusqu'à la prochaine actualisation de la webview.

La version android est 4.4.2. C'est un appareil plus mk808b si cela aide ...

Toutes les idées sur la façon de résoudre ou de réduire en quelque sorte les temps que cela arrive ... quelque chose de vraiment ... sauf en utilisant imageview, je veux garder tout dans le webview. Toutes les directions à suivre pour un débogage ultérieur sont également grandement appréciées.

Merci pour toute aide que vous pouvez fournir.

enter image description here

Répondre

0

S'il est possible que je voudrais essayer de convertir des images de fond à un format vectoriel (comme SVG). Le rendu devrait être plus facile et moins gourmand en mémoire. Y at-il des inconvénients à l'utilisation de cette approche?

+0

Autre que la conversion se passe sur le téléchargement. – Andre

+0

Inconvénients sont coût de calcul plus élevé (décompresser une image en bitmap est un respect direct dessiner une image en suivant les étapes dans un SVG) et moins de flexibilité des images vectorielles (les images complexes ont beaucoup d'étapes et le rendu prend plus de temps). Je viens de faire un benchmark avec un WebView en utilisant la même image en format svg (http://demosthenes.info/assets/images/thumbnails/homer-simpson.svg) et dans le png (http://postimg.org/image/4s9m7x931 /). A la fin j'ai la même quantité de ram occupé mais avec png j'ai un gros pic (2x) correspondant à la décompression. –

+0

Étant donné que ces images sont des fichiers JPEG sans compression, je suppose qu'il serait à coup sûr utiliser plus de CPU. En tout cas c'est une direction au moins ... merci! – Andre