[英]Efficiency of Very Long StringBuilders
我目前正在使用Java在android上开发应用程序。
显然,在很多情况下我必须使用大量的String操作。 我更喜欢使用SpannableStringBuilder
类,因为它具有最多的功能,非常容易在字符串上追加或添加跨度。
但是,我对类的内部实现感到好奇,因此我阅读了SpannableStringBuilder
的java文件中的部分代码。 当我看到在stringbuilder上使用append()
或replace()
函数时,我很惊讶,它只是创建一个新的char数组,并将其生成的长度从头到尾复制到原始char数组中。新数组与更改后的部分在一起。
现在我很担心,因为我正在处理的内容与记事本非常相似,并且我使用SpannableStringBuilder
和append()
用户输入的每个输入。 但是由于这是一个记事本,用户甚至可以输入多达几万个字符。 在那种情况下,每次用户使用键盘输入内容时, append()
或replace()
函数都必须复制一大堆字符……我认为这应该会对性能产生巨大影响。
这是我应该担心的事情吗? 还有其他方法可以制作可连续追加的stringbuilder吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.