我看了下代码,好像系统使用Html.fromHtml
也是在底层通过SpannableStringBuilder
来实现的,那么从理论上来说,使用SpannableString
应该比使用Html.fromHtml
的效率高一些。首先我想确认一下,是这样的么?
另外,使TextView
有不同的显示效果(像SpannableString
那样),还有没有其他的方法?如果有的话,效率又如何?
Html.fromHtml
适合做一些简单的样式设置,如字体大小,字体颜色。
但如果涉及到文本的部分可点击,部分字体不同。那就要用到SpannableString
了。
你想要的"效率"是什么? 总的parse时间短? 到显示首屏内容为止的时间短 (这个HTML.fromHTML比较不行) ? 还是其他?
使TextView有不同的显示效果(像SpannableString那样),还有没有其他的方法?
"有", 总归可以重写一套能表达类似语义的string, 配上自己的TextView.
但是考虑到在手机上能同时显示的文字相当有限, 我觉得Spannable (这系列已经相当精练了) 不太会成为瓶颈.
如果html内容很多且复杂考虑使用WebView,不过还是得开实际的需求。效率方面我觉得两者应该差距不大。