非常长的StringBuilders的效率

时间:2016-07-05 05:59:31

标签: java android stringbuilder

我目前正在开发一个带有java的Android应用程序。

显然,我必须使用大量的字符串操作。我更喜欢使用类SpannableStringBuilder,因为它具有最多的功能,非常容易追加或添加跨度到字符串。

但是我很好奇这个类的内部实现,所以我读了SpannableStringBuilder的java文件中的部分代码。当我看到它时,我很惊讶,当我在stringbuilder上使用append()replace()函数时,它只是创建一个带有结果长度的新char数组,并复制原始char数组中的所有字符。开始结束新数组,将更改的部分放在一起。

现在我很担心,因为我正在处理的内容与备忘录非常相似,我使用SpannableStringBuilderappend()用户键入的每个输入。但由于它是一个memopad,用户甚至可以键入多于几万个字符。在这种情况下,每次用户使用键盘键入内容时,append()replace()函数都必须复制一大堆字符...我认为这应该会对性能产生巨大影响。

这是我应该担心的吗?还有其他方法可以制作连续可追加的弦线制作者吗?

0 个答案:

没有答案