2012-02-02 18 views
3

您好我想知道在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; 
} 

回答

3

创建的get/set公共静态属性读取Android: Designing for Performance,这是一篇很棒的文章。

总之,他们基准的系统Caliper,并得到了你souhld Avoid Internal Getters/Setters的结论:

“没有JIT,直接字段访问大约3倍比调用一个微不足道的getter更快随着JIT(直接字段访问和访问本地一样便宜),直接字段访问的速度比调用一个简单的getter快7倍,比在调用一个简单的getter时快7倍,但在JIT内联getter方法时将会改善。

+0

Rotemmiz:所以你说最好使用选项1:boolean xvalue = MyClass._loadConfiguration;比选项2:boolean xvalue = MyClass.LoadConfiguration(); – 2012-02-02 21:43:04

+0

的确,这适用于内部获得者/制定者。 – Rotemmiz 2012-02-02 22:00:31

0

静态变量不需要get/set。您始终可以使用className.staticVariable获取它们。 get/set for static总是开销。

+0

谢谢thinksteep,我知道,但我问是否有性能故障使用选项1或选项2(我是C#程序员,现在开始与Android) – 2012-02-02 21:47:19

+0

option2是性能开销。 – kosa 2012-02-02 21:50:00