Android性能的静态变量或属性
您好我想知道在Android中使用静态值的性能更好。Android性能的静态变量或属性
1 - 创建一个类中的公共静态变量
public static boolean _loadConfiguration = true;
或
2 - 一类
private static boolean _loadConfiguration = true;
public static boolean LoadConfiguration() {
return _loadConfiguration;
}
public static void LoadConfiguration(boolean loadConfiguration) {
_loadConfiguration = loadConfiguration;
}
创建的get/set公共静态属性读取Android: Designing for Performance,这是一篇很棒的文章。
总之,他们基准的系统Caliper,并得到了你souhld Avoid Internal Getters/Setters的结论:
“没有JIT,直接字段访问大约3倍比调用一个微不足道的getter更快随着JIT(直接字段访问和访问本地一样便宜),直接字段访问的速度比调用一个简单的getter快7倍,比在调用一个简单的getter时快7倍,但在JIT内联getter方法时将会改善。
静态变量不需要get/set。您始终可以使用className.staticVariable获取它们。 get/set for static总是开销。
谢谢thinksteep,我知道,但我问是否有性能故障使用选项1或选项2(我是C#程序员,现在开始与Android) – 2012-02-02 21:47:19
option2是性能开销。 – kosa 2012-02-02 21:50:00
Rotemmiz:所以你说最好使用选项1:boolean xvalue = MyClass._loadConfiguration;比选项2:boolean xvalue = MyClass.LoadConfiguration(); – 2012-02-02 21:43:04
的确,这适用于内部获得者/制定者。 – Rotemmiz 2012-02-02 22:00:31