.remove() .addView() 和使用 ViewStub 有什么区别?ViewStub 如何提高布局渲染效率?
问问题
1150 次
2 回答
2
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;
}
于 2017-09-14T07:09:04.807 回答
2
正如您在本文中看到的那样,当您使用 时,除非需要(将存根的可见性设置为或调用) ,否则ViewStub
您在存根内部的布局<include />
不会被夸大。优点是,包含的视图都不会成为视图层次结构的一部分,因此您的视图更轻。VISIBLE
show()
当然,您在这里需要权衡,当您设置 VISIBLE(或 show())时,会发生重新膨胀(仅在 ViewStub 布局上)。
于 2016-05-17T19:24:32.580 回答