Я пишу приложение, которое постоянно обновляет TextView с помощью SpannableStringBuilder, который использует тонну интервалов. Бенчмаркинг показывает, что неудивительно, что setText() и drawText() являются большими блокировками, а SpannableStringInternal.getSpans() имеет единственное высшее исключительное время процессора.Улучшения производительности SpannableStringBuilder?
Есть ли способ повторного использования одного и того же диапазона, поэтому мне не нужно забивать мою SpannableString с несколькими идентичными пролетами? Есть ли другие способы улучшить производительность SpannableString?
Настоящий приемник производительности - это вызов isInstance в SpannableStringInternal.getSpans. Несмотря на то, что большинство вызовов к нему ищут объекты, он тратит массу времени на отражение там. –