Spannable Vs Tipo Vs Html

Estoy preparando la aplicación que contiene casilla de verificación para personalizar el estilo, como negrita, cursiva, subrayado, color.etc .. Estoy un poco confundido Qué método es bueno para el rendimiento. He intentado cara tipo, pero cuando el usuario seleccione dos casilla de verificación, Muestra el último valor only.it no funcionó bien.

2 Solutions collect form web for “Spannable Vs Tipo Vs Html”

Typeface es un elemento de gráficos utilizado por el objeto Paint para dibujar texto. Especifica la fuente (por ejemplo, Monospace , Sans Serif , Serif , etc.) y el estilo de la fuente (por ejemplo, Bold , Italic , etc.) y es utilizado internamente por Spannable y Html .

Así que la comparación de rendimiento debe hacerse entre Spannable y Html .

Html.fromHtml es una operación costosa ya que implica analizar el Html. Utilicé el siguiente código con Traceview y hice la comparación entre Html y Spannable . Básicamente establece el texto en negrita y establece el hipervínculo.

 Debug.startMethodTracing("htmlspan"); Spanned s1 = Html.fromHtml("<b>text1: Constructed from HTML programmatically.</b> Click <a href=\"http://www.google.com\">Link</a> "); tv1.setText(s1); Debug.stopMethodTracing(); tv1.setMovementMethod(LinkMovementMethod.getInstance()); Debug.startMethodTracing("normalspan"); SpannableString s2 = new SpannableString("text2: Constructed from JAVA programmatically. Click here."); s2.setSpan(new StyleSpan(Typeface.BOLD), 0, 45, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); s2.setSpan(new URLSpan("http://www.google.com"),53,53+4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); tv2.setText(s2); Debug.stopMethodTracing(); tv2.setMovementMethod(LinkMovementMethod.getInstance()); 

Resultado:

  • API de HTML: ~ 14-15ms. (Org.ccil.cowan.tagsoup.Parser.parse API tomó alrededor de 12.282ms)
  • API de Spannbale: ~ 1-2ms.

TraceView para Html API: TraceView para API de HTML

TraceView para Spannable API: TraceView para Spannable API

Resumen: El punto de vista de rendimiento que utiliza directamente Spannable es más rápido en comparación con Html .

Spannable utiliza internamente Typeface. Spannable es proporcionado por el marco androide para facilitar el desarrollo. Por lo tanto, utilice Spannable.

  • TextView con color de fondo sólo en el propio texto
  • Android: Crear TextView que parpadea cuando se hace clic
  • Android: Colorear parte de una cadena usando TextView.setText ()?
  • Acceso al texto de Multiline TextView en Android
  • El texto de TextView desaparece cuando se gira el dispositivo
  • Cree programaticamente TextView con elipsis
  • Cómo cambiar el color de fondo de TextView a valor inicial
  • Cómo poner línea divisor entre líneas TextView
  • Android sdk 18 La gravedad de TextView no funciona verticalmente
  • Alineación de ImageSpan en TextView
  • Android: ¿Cómo usar el Html.TagHandler?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.