使用LayoutInflater是不好的做法吗?

时间:2011-07-12 19:06:34

标签: android

基本上我想在AsyncTask完成时用一些视图填充ViewFlipper。我认为在AsyncTask完成时,我只是将它们从不同的布局XML文件中扩展出来,而不是将我的布局中的视图隐藏在“布局”中。

基本上,视图只包含一些ViewGroups,其中包含一些文本和图片,没什么大不了的。问题是,这对资源消耗来说仍然是一个坏主意吗?

1 个答案:

答案 0 :(得分:2)

我会说它更好,因为活动的初始布局会更小(因此加载速度更快)。缺点是膨胀视图可能会稍微慢一些,只是让它可见。请注意,Android中的列表以这种方式工作:一些列表元素在需要时膨胀,然后再循环。只是避免一遍又一遍地膨胀相同的东西。

一个很好的替代方案可能是使用ViewStub。它几乎完成了你想要做的事情:在你将它的可见性设置为Visible之前,它不会加载布局。

至于AsyncTask,请确保在onPostExecute方法中执行该操作,因为它在主UI线程上运行,并且您无法从另一个线程操纵您的视图。