1

我为我的应用程序制作了一个小语法荧光笔。

它执行正则表达式并将 ForegroundColorSpans 应用于 EditText 的 contect 的副本 - 全部在一个线程中。完成所有这些后,将调用 setText() 方法并将 EditText 的上下文替换为现在样式的副本。

问题是,setText() 方法会导致 UI 冻结。在我使用 2,000 行文件进行的测试中,应用样式文本需要 30 秒!

除了建议用户不要对大文件使用语法高亮并在他们打开大文件时自动将其关闭之外,我还能做些什么来加快语法高亮?除了减少和提高正则表达式的效率。

谢谢,亚历克斯。

4

1 回答 1

0

也许您可以使用 WebView 或者尝试开发一些功能,以便仅对用户可见的文本进行样式设置。

于 2011-09-05T12:04:19.230 回答