【发布时间】:2016-09-14 01:10:50
【问题描述】:
.remove() .addView() 和使用 ViewStub 有什么区别? ViewStub 如何提高布局渲染效率?
【问题讨论】:
标签: android layout view viewstub
.remove() .addView() 和使用 ViewStub 有什么区别? ViewStub 如何提高布局渲染效率?
【问题讨论】:
标签: android layout view viewstub
正如您在this article 中看到的那样,当您使用ViewStub 时,除非需要(将存根的可见性设置为VISIBLE 或调用@ 987654330@)。
优点是,包含的视图都不会成为视图层次结构的一部分,因此您的视图更轻。
当然,您在这里需要权衡,当您设置 VISIBLE(或 show())时,会发生重新膨胀(仅在 ViewStub 布局上)。
【讨论】:
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;
}
【讨论】: