背景资料:
我正在为自己和一些朋友开发一个小应用程序,它包含一些基于自定义XML布局的ListViews
项目。布局有点沉重 - 一些ImageViews
,TextViews
,一个LinearLayout
和一个RelativeLayout
- 所以我开始考虑性能。我个人没有遇到任何性能问题,但我知道我的一些朋友,他们将使用该应用程序,没有高端手机,他们可能会遇到这些布局的问题。
我记得在Android上看过关于性能的视频演示,我记得Romain Guy提到了一些关于自定义Views
比自定义XML布局更好的性能更好的表现。我认为上下文是Gmail应用程序的早期开发(我认为是围绕Android 1.5),其中Listview
的每个项目都相当复杂。
值得指出的是,我在我的应用程序中重用了Views
,而且我正在使用Google推荐的ViewHolder
原则。
我的问题:使用自定义Views
的性能是否更好?或者可以扩展自定义XML布局?
答案 0 :(得分:2)
与往常一样,答案是“它依赖” - 从XML中膨胀视图会对代码中的普通创建造成一些性能损失(解析开销),但也提供了更大的灵活性。您应该尽可能地重用视图(特别是在较大的列表中) - 它可以显着提高滚动性能
答案 1 :(得分:0)
如果您可以创建自定义布局而不是线性布局和相对布局,那么创建自定义布局将更有利于您。这有点像,而不是使用嵌套的线性布局,你应该只使用相对布局。如果你使用相对和线性以及一大堆视图,那么编写自定义布局应该是有益的。