.remove()。addView()和使用ViewStub有什么区别? ViewStub如何提高布局效率?
答案 0 :(得分:1)
正如您在this article中所看到的,当您使用ViewStub
时,除非需要,否则存根中<include />
的布局不会被夸大(将存根的可见性设置为VISIBLE
或致电show()
)。
优点是,所包含的视图都不是视图层次结构的一部分,因此您的视图更轻。
当然,你在这里有一个权衡,当你设置VISIBLE(或show())时,会发生一个reinflate(仅在ViewStub布局上)。
答案 1 :(得分:0)
ViewStub与在性能方面添加View相同。看一下ViewStub.inflate()。它的作用是动态添加视图。
public View inflate() {
...
final View view = factory.inflate(mLayoutResource, parent,
false);
...
parent.addView(view, index, layoutParams);
} else {
parent.addView(view, index);
}
...
return view;
}