如何在Android编译工作? 它是否不再在Java代码的Android XML文件汇编上的评论和?
Answer 1:
在Java文件评论被删除,或者被忽略,当它们被编译成class文件。 .class文件不适合人类阅读 - 他们进行了优化,在虚拟机上高效运行。 如果意见是留,他们只会导致类文件大于所需,并没有额外的好处(即,编译器和虚拟机不明白的意见,那么为什么它们包括)
至于XML文件,注释通常保留。 而编译的类文件只有1个目的(在虚拟机上运行),XML文件可以有多种用途。 例如,您可以将XML文件加载到你的应用程序和操作它。 根据不同的使用你的应用程序的XML文件,它可能需要更新注释的存在 - 事实上,你的应用程序可能会专门寻找征求意见。 由于XML文件可以有广泛的用途,注释不从的情况下,他们所需要的一些其他用途的XML文件中删除。
Answer 2:
评论是不存在file..comments的字节码/的.class版本通过在编译时,编译器会被忽略..
编译器工作的方式,将其转换所有的高级语言代码转换为机器可理解Code..all在通过像解释线once..not线。在Android的情况下..编译的.java源文件转换成它的字节码/的.class files..and那么到.DEX文件(Dalvik的可执行文件)。在上一个名为Dalvik虚拟机虚拟机需要.DEX文件的顶部Android上运行的所有应用程序..
尝试使用任何archiver..you将看到classes.dex文件在那里开了一个apk文件就像一个ZIP ..
并尽可能的XML文件是有关..他们使用的应用程序,只有当你在活动时间在屏幕上显示(即活动被渲染)的东西..所以被相应的XML文件displayed..its用于构建UI ..这个过程被称为膨胀!
编辑:但1点,现在我就记得这是that..the系统的应用,这是目前在Android Phone..such所有谷歌提供的应用程序(Gmail,地图等)..联系人,Phone.apk等。所有这些都在/系统/应用/ directory..they可能会或可能不包含在其中的.DEX文件系统apks..present ..
如果它们所包含的APK文件(就像任何正常的应用程序我们开发)内的.DEX ..然后,ROM被称为脱odexed ROM(Android操作系统的固件)..但是这又导致了较慢的系统重新启动时该ROM安装了第1次因来自系统的apk文件中的所有.DEX文件复制到Dalvik的cache..since系统的APK的所有.DEX文件在系统启动时的/ boot需要..
但是,如果将ROM odexed ..系统的所有.DEX文件的apk的是不存在的apk文件里面,但在/系统/应用/目录下一个单独的文件。与扩展.odex
所有的应用程序你和我发展(非系统应用程序)..只是Play的应用程式store..those的确实包含.apk文件内.DEX]
该编辑:我知道它不是非常相关的营运或问题..但只是想提为SYS和非SYS应用.DEX文件放置的区别! :)
希望它帮助! :)