繁体   English   中英

超长StringBuilders的效率

[英]Efficiency of Very Long StringBuilders

我目前正在使用Java在android上开发应用程序。

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

但是,我对类的内部实现感到好奇,因此我阅读了SpannableStringBuilder的java文件中的部分代码。 当我看到在stringbuilder上使用append()replace()函数时,我很惊讶,它只是创建一个新的char数组,并将其生成的长度从头到尾复制到原始char数组中。新数组与更改后的部分在一起。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM