Я сделал небольшую подсветку синтаксиса для своего приложения.
Он выполняет регулярные выражения и применяет ForegroundColorSpans к копии контекста EditText - все в потоке. Как только все это будет сделано, вызывается метод setText (), который заменяет контекст EditText на стилизованную копию.
Проблема в том, что метод setText () вызывает зависание пользовательского интерфейса. В тесте, который я сделал с файлом в 2000 строк, для применения стилизованного текста потребовалось 30 секунд!
Кроме того, что я рекомендую пользователям не использовать подсветку синтаксиса с большими файлами и автоматически отключаю ее, если они открывают большой файл, что я могу сделать, чтобы ускорить выделение синтаксиса? Помимо сокращения и повышения эффективности регулярных выражений.
Спасибо,
Алекс.