У меня есть ListView
, который имеет TextView
и в каждом TextView
несколько элементов, каждый с кратким описанием. Чтобы применить разные стили к элементам и описанию, я использую несколько объектов span :ClickableSpan
, ForegroundColorSpan
, BackgroundColorSpan
, AbsoluteSizeSpan
и StyleSpan
.
В среднем ListView
имеет 10 TextView
с, и каждый TextView
имеет 10 пар элементов/описаний, и каждая пара использует около 6 SpanObject
с, таким образом, всего ~600 SpanObject
с. по ListView
. И когда пользователь щелкает один из элементов, ListView
очищается и снова перерисовывается, создавая другой набор из 600 SpanObject
с.
Поэтому мне интересно, было бы лучше создать один TextView
для каждого элемента и каждого описания и отформатировать его с помощью XML, а не стилизовать TextView
с помощью span, таким образом, будет около 200 TextView
с и нет SpanObject
с.
В качестве примечания: я не начал с этого подхода, потому что иерархическое дерево представлений должно было быть более сложным, а создание TextView
обходится дороже, чем SpanObject
, но теперь, когда я вижу количество SpanObject
s Я создаю, я не уверен, что лучше. Я также думаю начать писать механизм утилизации, но не уверен, стоит ли это того или это не должно быть проблемой для Android GC.