Android中的性能或优化:最终局部变量vs局部变量

时间:2015-03-26 06:40:21

标签: java android performance final

我怀疑Java编译器或dex比没有final的局部变量更优化最终局部变量。 关于Android性能,最终变量和变量之间是否有任何区别?

感谢。

for循环:

for (final int x : list) ret += x;

的try-catch:

try { /* do something */ } catch (final IOException e) {}

功能:

void echo(final String s) { print(s); }

2 个答案:

答案 0 :(得分:9)

我实际上看过一些来自Google Devs的视频,我记得他们在某些时候说过,当你声明你的变量test.php时,VM知道这个变量不会改变它,它会提高性能。 当我发现时,我会添加链接。所以也许接受的答案是不正确的。

答案 1 :(得分:-1)

我认为声明final和local之间没有任何性能差异。当我们不希望某人覆盖此变量时,我们会声明变量final,因为您无法更改final变量的值(It将是常量)。此优化仅适用于基本类型和字符串常量,而不适用于任意引用类型。尽管如此,在可能的情况下声明常量静态最终是很好的做法。