Android 中的性能或优化:最终局部变量与局部变量
performance or optimization in Android : final local variable vs local variable
我怀疑 final 局部变量比没有 final 的局部变量更能被 Java 编译器或 dex 优化。
final变量和variable在Android性能上有什么区别吗?
谢谢。
for 循环:
for (final int x : list) ret += x;
尝试捕捉:
try { /* do something */ } catch (final IOException e) {}
功能:
void echo(final String s) { print(s); }
我不认为 declare final 和 local.We declare a variable final 之间没有任何性能差异,当我们不希望有人覆盖这个变量时,你不能改变 final 变量的值(它将是常量)。此优化仅适用于基本类型和字符串常量,不适用于任意引用类型。不过,最好尽可能将常量声明为 static final。
我实际上看过一些来自 Google 开发人员的视频,我记得他们曾说过,当你声明你的变量时 final
VM 知道这个变量不会改变它,它会提高性能。
我会在发现时添加链接。所以也许接受的答案是不正确的。
我怀疑 final 局部变量比没有 final 的局部变量更能被 Java 编译器或 dex 优化。 final变量和variable在Android性能上有什么区别吗?
谢谢。
for 循环:
for (final int x : list) ret += x;
尝试捕捉:
try { /* do something */ } catch (final IOException e) {}
功能:
void echo(final String s) { print(s); }
我不认为 declare final 和 local.We declare a variable final 之间没有任何性能差异,当我们不希望有人覆盖这个变量时,你不能改变 final 变量的值(它将是常量)。此优化仅适用于基本类型和字符串常量,不适用于任意引用类型。不过,最好尽可能将常量声明为 static final。
我实际上看过一些来自 Google 开发人员的视频,我记得他们曾说过,当你声明你的变量时 final
VM 知道这个变量不会改变它,它会提高性能。
我会在发现时添加链接。所以也许接受的答案是不正确的。