アプリ用に小さなシンタックス ハイライターを作成しました。
正規表現を実行し、ForegroundColorSpans を EditText のコンテキストのコピーに適用します - すべてスレッド内です。これがすべて完了すると、setText() メソッドが呼び出され、EditText のコンテキストがスタイル設定されたコピーに置き換えられます。
問題は、setText() メソッドによって UI がフリーズすることです。2,000 行のファイルで行ったテストでは、スタイル付きテキストを適用するのに 30 秒かかりました!
構文の強調表示を大きなファイルで使用しないことをユーザーに推奨し、大きなファイルを開くと自動的にオフにすること以外に、構文の強調表示を高速化するにはどうすればよいですか? 正規表現を削減してより効率的にすることとは別に。
ありがとう、アレックス。