调用view方法的正确方法是什么:
findViewById(R.id.btn_Foo).setVisibility(View.GONE);
VS
Button fooBtn = (Button) findViewById(R.id.btn_Foo);
fooBtn.setVisibility(View.GONE);
据我所知,作为一般的Java代码效率规则,应该使用变量。但是在这种情况下,如果view
方法只调用一次 - 这是否意味着在没有定义变量的情况下调用setVisibility
会更有效?
答案 0 :(得分:1)
这是否意味着在不定义变量的情况下调用setVisibility更有效?
在性能方面,这两种方法的效率几乎(如果不是完全相同的话)是相同的,如果这意味着你的意思是"有效的"。
如果"高效"表示编写代码所需的时间,当然第一种方法更有效。
但在这种情况下,如果view方法只调用一次
,该怎么办?
作为一般规则,当您想在代码中稍后使用foo按钮时,您希望将其设为变量。如果您只想使用一次,那么不要声明变量就没问题了。但是,不需要两次使用对象现在并不意味着您不会在下个月再次使用它。很有可能下个月,你在您的代码中发现了一个错误,或者您想要添加一个新功能,现在您需要使用两次foo按钮。如果您在一个月前未将fooButton
声明为变量,则必须立即声明。
因此,除非您确定foo按钮永远不会再次在同一范围内使用,否则请将其变为变量。毕竟这是一个View
,你倾向于经常提到View
。