2012-10-04 16 views
2

假设我有一个ViewGroup可以包含几个可选的孩子的意见,说VideoView,一个ImageView和一些可选按钮。我应该隐藏可选视图还是在运行时添加它们?

是否显著的资源浪费,如果我包括布局文件中的所有可能的子观点,但他们都设置为visibility默认了,但变化的知名度在运行时是否恰当?

难道只是为了更好地根据需要添加在运行时的看法?还有另一种更明智的方法吗?片段?

回答

2

我更喜欢创建它们并隐藏它们。我注意到,我看过的大多数内置Android布局都是这样做的。就我个人而言,我认为它减少了NullPointerExceptions以及避免它们所需的检查。

+0

您是否记得您可以引用奖励积分的任何特定内置布局? :) –

+1

alert_dialog_holo.xml,activity_list.xml,action_bar_home.xml和action_bar_title_item仅举几例。如果您在布局文件夹中搜索'visibility ='gone'',您将获得其余部分。 – toadzky

1

是没有创建的视图布局文件屈指可数节省下来的资金通常不会使您的应用程序的运行时资源消耗大的差别,除了他们含有大量图像或其他非常沉重ressources情况。

在另一方面,具有在布局文件的视图(隐藏)

  • 使他们要比在Java代码中创建它们
  • 导致他们由Android林特被检查更具可读性。

这就是为什么我总是建议让他们在布局。

+0

在我的情况下标记它们的原因是没有相关的媒体(视频,图像,音频等),所以不会有任何资源附加到它们。感谢列举静态编译时布局的好处 - 我同意。 –

相关问题