我正在使用Html.fromHtml(STRING).toString()将可能包含html和/或html实体的字符串转换为纯文本字符串。
这很慢,我想我最后的计算是平均花了大约22毫秒。对于大批这些,它可以添加超过一分钟。所以我正在寻找一种更快,性能更高的选项。
有没有提高速度,还是有其他解码选择?
编辑:由于似乎没有更快或专为性能而构建的内置方法,我会奖励任何可以指向我的图书馆方向的人的是:
Html.fromHtml(String).toString();
作为一个注释,我已经尝试过使用这种方法的Jsoup:Jsoup.parse(String).text()
并且速度较慢。
答案 0 :(得分:35)
org.apache.commons.lang.StringEscapeUtils的unescapeHtml()怎么样?该库可在Apache网站上找到。
答案 1 :(得分:3)
fromHtml()
没有高性能的HTML解析器,我不知道toString()
上的SpannedString
实施速度有多快。我怀疑是否是为你的场景设计的。
理想情况下,琴弦在进入低功耗手机之前是干净的。在构建过程中清理它们(对于资源/资产),或者在服务器上清理它们(在下载之前)。
如果出于某种原因,您绝对需要在设备上清理它们,您可以使用NDK创建一个C / C ++库,以便更快地为您进行清理。
答案 2 :(得分:2)
这是一个非常快速和简单的选择: Unbescape
它极大地提高了我们的解析性能,这需要每个字符串都通过解码器运行。
答案 3 :(得分:0)
答案 4 :(得分:0)
有一大批这些可以添加 超过一分钟
任何解析都需要一些时间。 22ms对我来说似乎很快。 无论如何,你能在后台做吗?可以帮助你进行某种缓存吗?
答案 5 :(得分:0)
虽然我还没有尝试过,但我找到了一些可能的解决方案:
我希望它有所帮助。