Android 使用xml进行布局的优势是什么?

Android 使用xml进行布局的优势是什么?,android,xml,android-layout,Android,Xml,Android Layout,我已经阅读了一些教程等,并发现我可以在代码中定义所有UI组件获得相同的结果 例如: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText("hello"); LinearLayout ll = new LinearLayout(this);

我已经阅读了一些教程等,并发现我可以在代码中定义所有UI组件获得相同的结果

例如:

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    TextView tv = new TextView(this);
    tv.setText("hello");
    LinearLayout ll = new LinearLayout(this);
    ll.addView(tv);
    setContentView(ll);
}
相当于

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
}
+


为此使用XML有哪些性能/可维护性优势

如果程序员更喜欢使用代码而不是XML,那么应该做哪些额外的考虑

为此使用XML的可维护性优势是什么

  • 逻辑与表现的分离。当您需要重构某些代码时,这对大型项目确实有帮助。如果它与UI紧密耦合,那么如果大部分表示逻辑都在代码中,那么这项工作会变得非常耗时
  • XML的结构与用户界面的结构密切相关,即树状结构
  • 为此使用XML有哪些性能优势

    我想这一切都取决于实现。我怀疑是否存在任何明显的性能差异,但老实说,我不太清楚它们可能是什么。

    您可以参考

    对我来说,我觉得这更像是个人品味。我来自Java Swing背景。当我在做桌面应用程序开发时,我更喜欢创建GUI编程

    然而,当谈到Android开发时,我将坚持基于XML的GUI开发,尽管我倾向于使用代码而不是XML


    这是因为,我倾向于遵循大多数人喜欢的编码风格和神话,这使我很容易获得技术支持和教程。

    XML布局在编译时转换为Java代码,因此性能应该是相同的。我更喜欢使用XML,因为很多文档和教程都使用它;这是Android编写UI的方式。此外,XML往往更易于重用。

    XML文件集成到资源框架中,这意味着您可以轻松地为不同的屏幕大小(以及密度、语言等)指定不同的布局。这在android中很重要,因为设备的多样性

    当然,您可以通过编程的方式实现这一点,但您将添加大量不必要的代码膨胀,并且您的应用程序可能更难维护


    布局XML编辑器的状态目前是一个问题,但google IO发布了公告/演示,表明正在进行重大改进。。。迫不及待。

    使用XML布局意味着不使用OO构造,这是什么意思?这些都是XML下面的对象,我看不出有什么区别。当我说OO时,我的意思是
    Label l=new Label()
    @Yan你的意思是编程,而不是OOP。对于重复的问题(正如Yan指出的那样)我深表歉意。。我做了一次搜索,但没有找到任何相关内容。实际上,XML的性能更差,因为它首先需要在设备上解析:请参阅。但我想这对大多数项目来说不会有太大的影响。
    <?xml version="1.0" encoding="utf-8"?>
    <TextView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/textview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="@string/hello"/>