include和ViewStub的区别

最近优化项目内存的时候了解到ViewStub,include和ViewStub都是引用布局的标签,但是它们是有区别的;

include和ViewStub的区别

1.include是可以在布局中引入另一个布局,但是它是固定加载的,使用起来不方便;ViewStub和include的功能类似,也是引用另一个布局,但是它是动态加载布局,通俗的话来讲,include是在加载布局的时候就会加载引用布局,ViewStub加载布局的时候不会加载引用布局,只有在调用ViewStub.inflate或者ViewStub.setVisibility(View.VISIBLE)的时候才会加载引用的布局。

2.ViewStub只会被inflate一次,之后ViewStub的对象会被置空,换句话说,就是引用布局被置空,即某个布局被ViewStub指定的布局被inflate之后,不能通过ViewStub去控制它了;

3.使用ViewStub的时候,某些布局属性要加在ViewStub上而不是实际布局才会起作用,比如margin,width,height等属性要加在ViewStub上才能起作用,ViewStub属性会在inflate之后传递到引用布局

猜你喜欢

转载自blog.csdn.net/zztt113/article/details/84566345