我有一个包含TextView的ListView,在每个TextView中有多个项目,每个项目都有简短的描述。为了对项目和描述应用不同的样式,我使用了多个span对象:ClickableSpan,ForegroundColorSpan,BackgroundColorSpan,AbsoluteSizeSpan和StyleSpan。
平均每个ListView有10个TextView,每个TextView有10对项目和描述,每个对使用约6个SpanObject,因此每个ListView总共有约600个SpanObject。当用户点击其中一个项目时,ListView会被清除并重新绘制,生成另一组600个SpanObject。
所以我想知道是否创建每个项目和描述的一个TextView,并通过XML格式化它们比使用span样式化TextView更好。这样就会有大约200个TextView,而没有SpanObject。
需要注意的是,我没有从这个角度出发,因为视图的层次树将变得更加复杂,而创建TextView的成本比创建SpanObject更高,但现在我看到我正在创建的SpanObject数量,我不确定哪种方法更好。我还在考虑开始编写回收机制,但不确定它是否值得或者这应该不是Android GC的问题。
平均每个ListView有10个TextView,每个TextView有10对项目和描述,每个对使用约6个SpanObject,因此每个ListView总共有约600个SpanObject。当用户点击其中一个项目时,ListView会被清除并重新绘制,生成另一组600个SpanObject。
所以我想知道是否创建每个项目和描述的一个TextView,并通过XML格式化它们比使用span样式化TextView更好。这样就会有大约200个TextView,而没有SpanObject。
需要注意的是,我没有从这个角度出发,因为视图的层次树将变得更加复杂,而创建TextView的成本比创建SpanObject更高,但现在我看到我正在创建的SpanObject数量,我不确定哪种方法更好。我还在考虑开始编写回收机制,但不确定它是否值得或者这应该不是Android GC的问题。