androidxml与java布局性能
Android SDK为开发者提供了用xml文件或直接用java代码编写布局的功能。我读过这篇文章,每个人都说xml更易于维护和编写,但它们是静态的。否则java布局是动态的,但没有人评论性能问题。关于性能,我发现的唯一一件事是嵌套布局对性能有负面影响。与其编写嵌套布局,不如创建自定义布局。到目前为止还不错androidxml与java布局性能,android,performance,Android,Performance,Android SDK为开发者提供了用xml文件或直接用java代码编写布局的功能。我读过这篇文章,每个人都说xml更易于维护和编写,但它们是静态的。否则java布局是动态的,但没有人评论性能问题。关于性能,我发现的唯一一件事是嵌套布局对性能有负面影响。与其编写嵌套布局,不如创建自定义布局。到目前为止还不错 布局设计呢?xml还是java代码?我的android在运行时或编译时是如何解析xml文件的?即使它们是在编译时解析的,也应该在运行时使用。那么,用xml声明RelativeLayout还是
布局设计呢?xml还是java代码?我的android在运行时或编译时是如何解析xml文件的?即使它们是在编译时解析的,也应该在运行时使用。那么,用xml声明RelativeLayout还是用onCreate方法声明RelativeLayout更快呢?布局定义了用户界面的可视结构,例如活动或应用程序小部件的UI。可以通过两种方式声明布局:
- 用XML声明UI元素。Android提供了一个简单的XML 与视图类和子类相对应的词汇表,例如 与小部件和布局相同
- 在运行时实例化布局元素。应用程序可以创建 查看和查看组对象(并操纵其特性) 以编程方式
Activity.onCreate()
回调实现中从应用程序代码加载布局资源。通过调用setContentView()
,以以下形式将对布局资源的引用传递给它:
我认为仅仅访问此链接并获取更多信息太过分了。决定在何处声明UI组件的一个主要因素是它在应用程序生命周期中的行为。如果它是静态的,我将用XML声明所有需要的属性,如果它根据用户交互而改变,我将不得不在活动中实现它
我会尽可能多地使用XML,因为上面提到的好处包括一致性、更好地管理各种屏幕大小、本地化、资源管理等。,在性能方面没有太大区别,因为您的资源xml文件也将使用aapt工具进行预编译。因此,xml转换将发生在源资源文件上,并与java源文件一起编译为java类文件。所以,性能应该大致相同也是合乎逻辑的,因为最终两者都将被编译,并且在运行时为两者分配内存。我还检查了我的示例应用程序,通过XML和Java生成类似的视图,在对它们进行分析时,我发现视图的呈现大约需要相同的时间。:-) 我可以用我的话来写答案,但我想你们可以从Android开发者的文档中得到更好的理解。这就是为什么…-)谢谢您的回答,我已经阅读了android文档,但是性能如何?查看资源的加载速度是否比代码加载速度快?@KamenStoykov,只要正确声明XML布局,就不会有任何明显的差异。性能方面没有什么最差的。。两者都一样。。实际上,XML布局是一种JAVA类表示。实际上,当您在代码中声明
rl=new RelativeLayout()
时,它也会编译和执行。但您是用java格式编写的。同样,当您用XML编写
时,它也会编译为java类代码并执行。在XML中有一些代表性的格式。实例化视图比从XML文件中膨胀视图要快一些。除非你的Java代码太糟糕。使用XML比运行时创建布局的最大优势是“你可以看到预览,而不必每次都运行它”。我相信这本身就是一个很好的理由。