Подсветка кода на android. Мой опыт
Во время разработки моего последнего приложения мне пришлось провести довольно много времени, экспериментируя с разными подходами к размещению span’ов в EditText. В этом посте хотелось бы подвести некоторый итог этого времяпрепровождения, а также сэкономить время тем, кто в будущем будет решать подобные задачи. Кода будет немного, только основные моменты. Для начала хочу привести небольшой список фактов для того, чтобы ввести читателя в курс дела: Несмотря на N ядер (каждое с огромной частотой), современный смартфоны все еще очень сильно уступают в производительности даже недорогим, но большим компьютерам. Каждое приложении в андроиде имеет строго ограниченный размер выделяемой памяти. И он не велик. Метод setSpan работает медленно. Чем больше работы вы вынесете в Worker’ы, тем отзывчивее будет ваше приложение. Держать подсвеченным весь текст не получится — только видимую его часть. Довольно очевидно, но все же: поиск места размещения спана в UI потоке делать не получится. Читать дальше →