拥有一个可拖动自定义字体TextView
的应用。
创建了一个类TextAnimator
,它启动了单个ValueAnimator
,并允许添加设置为setText(textValue, BufferType.SPANNABLE);
的所需TextView。
通过向此TextView
添加新TextAnimator
,它会为{{1}中的每个字母存储TextView
,初始/结束随机颜色和Spannable
变量数组简单数组。
在ArrayLists
的{{1}}上,我遍历所有添加的UpdateListener
,计算颜色过渡值并更改每个字母的颜色(根据此处的建议:Change text color of one word in a TextView) :
ValueAnimator
这个动画让我的应用程序工作(拖动,其他动画)非常缓慢,我不知道是什么导致它。我的猜测是,使用spannables可能是不合适的(也许我应该以某种方式清除所有添加的spannables,然后在每次迭代中重新添加它们 - 如何一次清除它们?)。
我还可以使用HTML来设置每个字母的颜色,如果这样会更快。或许整个方法都是错误的。
有关如何提高绩效的任何建议和提示吗?