View.findViewById() vs Activity.findViewById()

在网上看见View.findViewById() 和 Activity.findViewById()执行效率不一样

通常我们使用Activity.findViewById()如:

TextView tv_inner_1 = (TextView)this.findViewById(R.id.tv_inner_1);
TextView tv_inner_2 = (TextView)this.findViewById(R.id.tv_inner_2);

View.findViewById() 如:

View layout_outer = this.findViewById(R.id.layout_outer);
TextView tv_inner_1 = (TextView)layout_outer.findViewById(R.id.tv_inner_1);
TextView tv_inner_2 = (TextView)layout_outer.findViewById(R.id.tv_inner_2);

他们都是针对下面同一个xml

<LinearLayout>
<LinearLayout id="@+id/layout_outer">
<TextView id="@+id/tv_inner_1"/>
<TextView id="@+id/tv_inner_2"/>
</LinearLayout>
</LinearLayout>

 

 另外,两者的区别是:

Activity.findViewById查找的view是跟此Activity绑定的view,而View.findViewById()查找的是View中的view

原文地址:https://www.cnblogs.com/mumue/p/2488158.html