在XML中定义资源会导致解析开销吗?

时间:2013-12-03 17:43:11

标签: java android xml view

运行时是否在Android中解析XML资源文件? 如果有任何解析开销,编写视图是否以编程方式消除它? 如果资源是在单独的.java文件中创建然后加载的,那么它们会比在XML中定义资源消耗更多的内存吗?

2 个答案:

答案 0 :(得分:1)

是的,XML资源文件(Layouts,Drawables等)在运行时被解析。然而,这产生的开销量非常小。就消耗的内存量而言,由于XML文件被解析为源(您将要编写的优化版本),因此它们将占用与单独的.java文件大致相同的RAM量。

答案 1 :(得分:0)

是和否。

At compile time,XML资源被编译为二进制XML格式。然后,这些二进制XML文件在运行时在设备上进行解析(解码),但这比解析原始文本XML要快。

理论上,在代码中生成视图层次结构比膨胀二进制XML更快。在实践中,差异通常可以忽略不计。 在开发人员时间方面,在代码而不是XML中维护视图层次结构的成本要高得多。

内存消耗差异可能也不大。