我正在编写一个应用程序,它使用一个使用大量跨度的spannablestringbuilder不断更新文本视图。基准测试显示,毫无疑问,settext()和drawtext()都是大拦截器,而spannablestringinternal.getSpans()拥有最高的独占CPU时间。
有没有一种方法可以重复使用同一个跨度,这样我就不必用多个相同的跨度来阻塞我的spannablestring?有没有其他方法可以提高斯潘的表现?
最佳答案
经过大量的实验,我发现创建一个自定义视图来覆盖ondraw来绘制它自己的文本绝对是一种方法。无法阻止getSpans使用大量反射。