我正在编写一个应用程序,它不断地用一个使用大量跨度的TextView来更新一个SpannableStringBuilder。基准测试表明,毫不奇怪,setText()和drawText()都是大阻止程序,而SpannableStringInternal.getSpans()具有最高的独占CPU时间。
是否有一种方法可以重用相同的跨度,这样我就不必用多个相同的跨度来阻塞我的SpannableString了?还有其他方法可以提高SpannableString的性能吗?
发布于 2013-12-14 22:33:18
经过大量的实验,我发现创建一个覆盖onDraw的自定义视图来绘制自己的文本是绝对可行的。没有办法阻止getSpans使用大量的反射。
https://stackoverflow.com/questions/20511818
复制相似问题