gpt4 book ai didi

java - 什么更有效率?存储变量引用与不存储变量引用(Android 中的上下文)

转载 作者:搜寻专家 更新时间:2023-11-01 07:55:23 29 4
gpt4 key购买 nike

假设我们正处于一个方法的中间。我可以在两种编程风格之间做出选择。

选项 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,主要是为了提高可读性。

关于java - 什么更有效率?存储变量引用与不存储变量引用(Android 中的上下文),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28446653/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com