Lint报告StringBuilder会影响性能

时间:2014-03-04 17:23:39

标签: android performance lint

在我的项目上我刚做了LINT检查,到目前为止我很满意。但我很好奇为什么LINT报告StringBuilder的使用很慢?

我前一段时间从Eclipse切换到Android Studio,那些由eclipse生成的toString()方法可以获得更好的调试输出:

@Override
public String toString()
{
    final StringBuilder builder = new StringBuilder();
    builder.append("param1");
    builder.append(param1);
    builder.append(", param2");
    builder.append(param2);
    builder.append("param3");
            ....
    return builder.toString();
}

在Studio中报告'用String替换StringBuilder'。从我的角度来看,StringBuilder总是更快,更友好的GC方法。或者DEX有些聪明,我不知道吗?

我搜索LINT Checks时没有任何描述

1 个答案:

答案 0 :(得分:0)

简单的答案是,尽管性能完全没有差别,但更容易做到:

String string = "param1" + param1 + ", param 2" + param2 + "param3".... (and so on)

我更喜欢这种方法,因为它更短。在幕后,编译器会将其转换为您刚才提到的代码,生成的字节码完全相同。

如果你在一个循环中构建字符串,那么StringBuilder肯定是要走的路。