0

Possible Duplicate:
Best practices: Layouts on Android (Programmatic vs XML)

Which of way of creating complex view in android is faster

1) defining the layout in xml by adding standard view in layout.

2) Draw the required in the onDraw of an custom view

4

2 回答 2

3

如果您在谈论性能,这取决于您使用 onDraw() 的效率。

当您在 XML 中定义视图时,您所做的就是告诉布局膨胀器创建视图类型类的实例并将其初始属性设置为您定义的 XML 属性。然后,当视图被绘制时,你猜怎么着——它的 onDraw() 被调用来绘制视图。

因此,如果您扩展 View 并覆盖 onDraw() 并使用与它的超类使用完全相同的方法来绘制视图,那么就没有性能差异。

因此,答案(如果您确实在询问性能)是“视情况而定”。

同样,正如您的 onDraw() 可能效率低下一样,您的布局设计也可能效率低下。冗余视图组,如嵌套的 LinearLayouts、RelativeLayouts 等会对性能产生非常大的负面影响。布局层次结构查看器是一个很好的了解工具。

于 2012-12-01T20:39:40.700 回答
2

Ollie C https://stackoverflow.com/a/9827887/603233的好答案:

XML 的优点是:

 1. Ability to use layout editors (Eclipse)
 2. Easier to preview layouts
 3. Possible to benefit from auto-localisation of layouts
 4. Easily maintain different parallel layouts for difference devices (screens)
 5. Can get a sense of the layout by looking at it (easier than code)
 6. Easy to break layouts down into pieces (fragments, includes, etc) to remove duplication
 7. Keeps a separation between the visual design, and the functionality behind it
于 2012-12-01T18:35:29.280 回答