【发布时间】:2015-02-11 04:32:23
【问题描述】:
假设我们在一个方法的中间。而且我可以在两种编程风格之间进行选择。
选项A:每次需要访问资源时使用getContext().getResources()
public void doSomeStuffA(){
//...
getContext().getResources().getDrawable(R.drawable.ic_launcher);
getContext().getResources().getDrawable(R.drawable.ic_arrow); //...
}
选项 B:将 getContext().getResources() 存储在变量中。
public void doSomeStuffB(){
//...
Resources r = getContext().getResources();
r.getDrawable(R.drawable.ic_launcher);
r.getDrawable(R.drawable.ic_arrow);
//...
}
哪种风格更好?
【问题讨论】:
-
如果你多次调用资源的方法,最好使用选项B。但有时如果资源不断变化,你必须调用资源使用选项A的最新值的方法
-
你的意思是反过来?
-
我更正了抱歉:P
-
@Vwin 我将它从 4 缩短到 2 倍。使用选项 A 还是更好吗?
-
如果资源不变,我仍然会使用上述规则并使用选项 B。可能不会有重大的效率变化,但仍然是一个很好的做法。而如果你有一个单一的tstament,我会选择选项A
标签: java android performance optimization