ViewStub在Android中的布局显示与隐藏优化
延迟加载的利器ViewStub
,在 Android 开发里还是挺常见的。它的特点是轻,真的轻,初始化几乎不占资源。布局复杂又不想一上来全加载?用它就对了。你只需要在 XML 里先放一个ViewStub
,等到真需要它那一刻,再用inflate()
把它加载出来,挺灵活。
setVisibility(View.VISIBLE)
只是让它准备好,真正让它出现的关键是inflate()
。,一旦加载出来就不能再用原来的ViewStub
了,这点要注意。
布局显示和隐藏嘛,就得提到View.VISIBLE
、View.GONE
还有View.INVISIBLE
这仨常量。前两个你经常一起用:前者是正常显示,后者直接让布局“消失”,连位置都不占。INVISIBLE
就像透明人一样,看不见但还在那儿,场景选用看你需求。
如果你在做那种启动页、设置页、或者用户操作才触发的布局,那 ViewStub 真的挺香,性能也省了不少。搭配View.GONE
控制显示状态,逻辑也清晰。
你也可以顺带看看类似的延迟加载技术,比如 Web 端的LazyLoad
,或是更专业的StateView
。不同平台玩法不同,但思路是一致的。
597.14KB
文件大小:
评论区