自定义视图或夸大的布局?

时间:2012-01-01 15:18:36

标签: android xml android-layout android-view

背景资料:

我正在为自己和一些朋友开发一个小应用程序,它包含一些基于自定义XML布局的ListViews项目。布局有点沉重 - 一些ImageViewsTextViews,一个LinearLayout和一个RelativeLayout - 所以我开始考虑性能。我个人没有遇到任何性能问题,但我知道我的一些朋友,他们将使用该应用程序,没有高端手机,他们可能会遇到这些布局的问题。

我记得在Android上看过关于性能的视频演示,我记得Romain Guy提到了一些关于自定义Views比自定义XML布局更好的性能更好的表现。我认为上下文是Gmail应用程序的早期开发(我认为是围绕Android 1.5),其中Listview的每个项目都相当复杂。

值得指出的是,我在我的应用程序中重用了Views,而且我正在使用Google推荐的ViewHolder原则。

我的问题:使用自定义Views的性能是否更好?或者可以扩展自定义XML布局?

2 个答案:

答案 0 :(得分:2)

与往常一样,答案是“它依赖” - 从XML中膨胀视图会对代码中的普通创建造成一些性能损失(解析开销),但也提供了更大的灵活性。您应该尽可能地重用视图(特别是在较大的列表中) - 它可以显着提高滚动性能

答案 1 :(得分:0)

如果您可以创建自定义布局而不是线性布局和相对布局,那么创建自定义布局将更有利于您。这有点像,而不是使用嵌套的线性布局,你应该只使用相对布局。如果你使用相对和线性以及一大堆视图,那么编写自定义布局应该是有益的。