2017-05-06 51 views
-1

什么是调用视图的方法的正确方法:呼唤视图的方法一旦

findViewById(R.id.btn_Foo).setVisibility(View.GONE); 

VS

Button fooBtn = (Button) findViewById(R.id.btn_Foo); 
fooBtn.setVisibility(View.GONE); 

正如我理解正确的话,作为一个普通的Java代码效率的规则,应该使用变量。但是在这种情况下,如果view方法只调用一次 - 是否意味着调用setVisibility而不定义变量会更有效率?

回答

1

这是否意味着调用setVisibility而不定义变量会更有效率?

在性能方面,两种方法的效率差不多,即使不完全相同,如果这就是“高效”的含义。

如果“高效”意味着编写代码所需的时间,那么当然第一种方法更高效。

但在这种情况下,如果叫什么看法方法只有一次

一般来说,当你想稍后在代码中使用foo的按钮,你想让它变。如果你只是想使用它一次,没有声明一个变量是很好的。但是,不需要两次使用对象现在并不意味着您不需要在下个月再次使用它。下个月很可能你在代码中发现了一个bug,或者你想添加一个新功能,现在你需要使用foo按钮两次。如果您在一个月前还没有将fooButton声明为变量,那么您现在必须声明它。

因此,除非您确定200%foo按钮永远不会再次在同一范围内使用,否则请将其作为变量。毕竟这是一个View,你往往会经常提及View