我今天正在阅读一些代码并看到了这个:
x.add(getResources().getString(R.string.none));
x.add(getResources().getString(R.string.today));
x.add(getResources().getString(R.string.tomorrow));
...
Run Code Online (Sandbox Code Playgroud)
所以我想,"那效率很低!" 并开始将其更改为:
Resources res = getResources();
x.add(res.getString(R.string.none));
x.add(res.getString(R.string.today));
x.add(res.getString(R.string.tomorrow));
...
Run Code Online (Sandbox Code Playgroud)
但后来我停下来想知道:代码的第二部分是否真的更有效率还是不重要?编译器是否会以任何方式生成相同的字节代码?
编译器不会生成相同的字节代码,但如果getResources()是一个简单的方法,则JIT编译器可以在执行时有效地运行相同的代码.
我个人更喜欢第二种形式,因为它更清洁,更易读,而不是出于性能原因.
| 归档时间: |
|
| 查看次数: |
248 次 |
| 最近记录: |