Kit*_*fer 10 performance android 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();
}
Run Code Online (Sandbox Code Playgroud)
在Studio中,它报告了'用String替换StringBuilder'.从我的角度来看,StringBuilder总是更快,更友好的GC方法.还是DEX有些聪明,我不知道吗?
我搜索了LINT Checks而没有任何描述
简单的答案是,虽然性能绝对没有任何差异,但更容易做到:
String string = "param1" + param1 + ", param 2" + param2 + "param3".... (and so on)
Run Code Online (Sandbox Code Playgroud)
我更喜欢这种方法,因为它更短。在幕后,编译器会将其转换为您刚才提到的代码,并且生成的字节码完全相同。
如果您要在循环中构建字符串,那么 StringBuilder 绝对是最佳选择。
| 归档时间: |
|
| 查看次数: |
1871 次 |
| 最近记录: |