假设我们正在研究一种方法。我可以选择两种编程风格。
选项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);
//...
}
哪种款式比较好?
最佳答案
就像许多性能和调谐一样,正确的答案是“这取决于”。99%的情况下,额外的hashmap解引用和变量引用之间的差异并不是最大的(甚至是值得注意的)性能问题。诀窍在于了解什么时候可能是问题(例如,在紧密循环中频繁调用)。
在单个方法中,我倾向于使用选项b主要是为了可读性。