什么是ViewStub的重点,当我还可以懒惰地膨胀一个没有它的视图?

msk*_*skw 3 android

在阅读完文档后,我不确定ViewStub实现了什么,我无法通过View创建XML,然后在运行时对其进行充气.

Doc说使用ViewStub在运行时膨胀视图.我不确定为什么这个有用,除了语法更容易一些.

或者我对此完全错了?

deu*_*aka 7

基本用法ViewStub是作为一个元素的"占位符",以后不需要额外的前期性能负载.现在,你的问题为什么不只是动态地膨胀呢?

它们同时用于两个目的,只有在使用a时ViewStub,您才能将所有UI分开并在单独的XML中定义,因此它是一个关注点的分离.现在,如果你有一个动态用户界面,那么以编程方式对你的用户界面进行膨胀会更好.

总而言之,

  • 定义的UI:首选 ViewStub

  • 动态UI:更喜欢以编程方式膨胀 Views

至于我的经验,我已经将它用于我必须维护的项目,并且需要克服复杂的层次结构Views,这需要花费很长时间来加载.ViewStub帮助延迟加载定义的UI,改善了UI的启动.