【问题标题】:Does Defining Resources In XML Cause Parsing Overhead?在 XML 中定义资源会导致解析开销吗?
【发布时间】:2013-12-03 17:43:10
【问题描述】:

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

【问题讨论】:

标签: java android xml view


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    是和不是。

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

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

    内存消耗差异可能也不显着。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-19
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-18
      • 1970-01-01
      • 2016-02-27
      相关资源
      最近更新 更多