我正在阅读本文档页面,http://developer.android.com/reference/android/util/Log.html。这里Android StringBuilder与字符串串联
本节吸引了我的眼球:
提示:不要忘了,当你喜欢
Log.v(TAG, "index=" + i);
一个电话,当你正在构建的字符串传递到Log.d,编译器 使用一个StringBuilder,并且至少发生三个分配: StringBuilder本身,缓冲区和String对象。 实际上,还有另外一个缓冲区的分配和复制,并且对gc的压力更大。这意味着如果您的日志消息是 被过滤掉了,那么您可能会做大量工作并导致大量开销。
这意味着Android编译器正在进行字符串连接(+)并将它们转换为StringBuilder并附加语句。
我的假设是正确的还是手动使用StringBuilder而不是字符串连接更好?
可能重复的[在Java中字符串连接 - 时使用+,StringBuilder的和的concat(http://stackoverflow.com/问题/ 7817951/string-concatenation-in-java-when-to-use-stringbuilder-and-concat) – givanse 2014-02-03 16:55:29