【发布时间】:2012-04-11 16:04:42
【问题描述】:
我有一个ListView,其中有一个TextView,每个TextView 有几个项目,每个项目都有简要说明。为了对项目和描述应用不同的样式,我使用了多个 span 对象:ClickableSpan、ForegroundColorSpan、BackgroundColorSpan、AbsoluteSizeSpan 和 StyleSpan。
平均而言,ListView 有 10 个 TextViews,每个 TextView 有 10 对项目/描述,每对使用大约 6 个 SpanObjects,因此每个 @ 总共有 ~600 个SpanObjects 987654334@。当用户点击其中一个项目时,ListView 被清除并再次重绘,生成另一组 600 个SpanObjects。
所以我想知道是否为每个项目和每个描述创建一个 TextView 并通过 XML 格式化它而不是使用 span 设置 TextViews 的样式是否更好,这样大约有 200 个 @ 987654339@s,没有SpanObjects。
作为说明,我没有从这种方法开始,因为视图的层次结构树会更复杂,TextViews 的创建成本比SpanObjects 更昂贵,但现在我看到了SpanObjects 我正在创建我不确定哪个更好。我也在考虑开始编写一个回收机制,但不确定它是否值得,或者这对 Android GC 来说应该不是问题。
【问题讨论】:
标签: android performance garbage-collection textview