3

我正在编写一个应用程序,该应用程序使用一个使用大量跨度的 SpannableStringBuilder 不断更新 TextView。基准测试显示,不出所料,setText() 和 drawText() 都是大阻塞器,而 SpannableStringInternal.getSpans() 的独占 CPU 时间最高。

有没有办法重用相同的跨度,所以我不必用多个相同的跨度堵塞我的 SpannableString?还有其他方法可以提高 SpannableString 的性能吗?

4

1 回答 1

4

经过大量的实验,我发现创建一个覆盖onDraw的自定义View来绘制自己的文本绝对是这里的方法。没有办法阻止 getSpan 使用大量反射。

于 2013-12-14T22:33:18.720 回答