Red de conocimiento informático - Computadora portátil - Varios métodos para mostrar contenido HTML en el desarrollo de Android

Varios métodos para mostrar contenido HTML en el desarrollo de Android

En primer lugar, hay 3 formas de mostrar contenido HTML en Android: (Actualmente estoy usando estos 3 métodos)

1. Puedes usar el Html.fromHtml(str, imageGetter, tagHandler) nativo de Android para mostrar. él. . (Sin embargo, lo uso aquí. Incluso si agrego animación de carga de página, todavía siento que es muy lento y hay muchas imágenes, lo que causará OOM; si no hay demasiadas imágenes, puedes considerarlo)

2. Utilice el complemento HtmlTextView de terceros.

Dirección de GitHub: /PrivacyApps/html-textview

La imagen se carga muy suavemente y el uso es muy simple, pero hay dos cosas a tener en cuenta:

(1) Entre ellos, HtmlHttpImageGetter tiene tres constructores.

(2) La carga de una gran cantidad de imágenes puede provocar un desbordamiento de la memoria OOM. Para esta situación, HtmlHttpImageGetter tiene un método de imagen comprimida al que se puede llamar. Puede ingresar y ver su método de búsqueda pública. (Sin embargo, las imágenes que muestro aquí son demasiado grandes, cada una mide aproximadamente 1 M y hay docenas de ellas a la vez. Incluso si se configura la compresión de imágenes, seguirá causando el problema OOM. Aún no se ha resuelto. Si alguien lo sabe, por favor deme algún consejo sobre cómo hacerlo, ¡muchas gracias!)

Además, también encontré un problema, es decir, al mostrar imágenes, se producirá un desbordamiento de memoria.

Por cierto, déjame contarte el uso básico de este complemento de terceros. Haz clic en el enlace de arriba para ingresar y echar un vistazo.

3. La tercera situación es algo que no se me ocurre: usar expresiones regulares para extraer el contenido de la etiqueta html, reemplazar el contenido del texto con TextView y usar lt imggt; . ImageView en su lugar, y otras etiquetas relacionadas pueden optar por reemplazarlas. Para decirlo sin rodeos, significa crear TextView e ImageView para completar el diseño (LinearLayout, etc.). Cabe señalar que la visualización de imágenes se implementa a través de Glide. Hasta ahora mis pruebas van bien, con tiempos de carga rápidos y ninguna aplicación falla debido a problemas de memoria.