可能重复:
Best practices: Layouts on Android (Programmatic vs XML)
1)通过在布局中添加标准视图来定义xml中的布局。
2)在自定义视图的onDraw中绘制必需的
答案 0 :(得分:3)
如果你在谈论性能,那取决于你对onDraw()的效率。
在XML中定义视图时,您所做的就是告诉布局inflater创建视图类型类的实例,并将其初始属性设置为您定义的XML属性。然后,当绘制视图时,猜猜是什么 - 它的onDraw()被调用来绘制视图。
因此,如果您扩展了View并覆盖onDraw()并使用完全相同的方法来绘制超类将使用的视图,那么就没有性能差异。
所以,答案(如果你确实是在询问表现)是"它取决于"。
同样地,就像你在onDraw()中效率低下一样,你的布局设计可能效率低下。冗余视图组(如嵌套的LinearLayouts,RelativeLayouts等)可能会对性能产生非常大的负面影响。布局层次结构查看器是一个了解的好工具。
答案 1 :(得分: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