从XML和Java代码膨胀布局

问题描述:

从XML膨胀需要访问光盘是一个众所周知的事实,所以它通常应该比通过创建View实例从Java代码膨胀UI布局要慢。从XML和Java代码膨胀布局

我试图找到任何现成的解决方案来从XML生成Java布局,但没有找到任何。所以我做了我自己的测量,并且让我大吃一惊,发现在快速设备上(带有Android 6.0的S6和Nexus5),嵌套元素的复杂RelativeLayouts比XML代码更快地膨胀得比Java代码快!

你知道为什么会发生这种情况吗?

+0

不,它们不能用xml创建得更快,但是整体差异不应该太大,所以使用xml因为它更容易,更快速 – pskink

+0

我的结果显示布局创建速度提高了15%使用xml,但只适用于复杂的布局,仅适用于快速设备。所以也许有人知道原因。 – mike

+0

所以你的java代码有一个问题,为什么它很慢:毕竟从xml膨胀到第一次读取资源,2)解析xml 3)使用更慢的'View'构造函数,因为它必须使用不是速度守护进程 – pskink

正如已经在这里的另一篇文章中回答:Android xml vs java layouts performance。使用XML代码执行的性能不能比您的Java代码更快,除非您编写了错误的Java代码。

+0

不是。我发现'新的复选框(上下文)'和'新的开关(上下文)'大约需要20ms,这是减慢我的Java代码的原因。当我删除这些小部件时,从Java代码扩展布局变得更快,因为它应该是。 – mike