运行时是否在Android中解析XML资源文件? 如果有任何解析开销,编写视图是否以编程方式消除它? 如果资源是在单独的.java文件中创建然后加载的,那么它们会比在XML中定义资源消耗更多的内存吗?
答案 0 :(得分:1)
是的,XML资源文件(Layouts,Drawables等)在运行时被解析。然而,这产生的开销量非常小。就消耗的内存量而言,由于XML文件被解析为源(您将要编写的优化版本),因此它们将占用与单独的.java文件大致相同的RAM量。
答案 1 :(得分:0)
是和否。
At compile time,XML资源被编译为二进制XML格式。然后,这些二进制XML文件在运行时在设备上进行解析(解码),但这比解析原始文本XML要快。
理论上,在代码中生成视图层次结构比膨胀二进制XML更快。在实践中,差异通常可以忽略不计。 在开发人员时间方面,在代码而不是XML中维护视图层次结构的成本要高得多。
内存消耗差异可能也不大。