Android编译器如何工作?是否在编译时删除Java代码和Android XML文件中的注释?
将Java文件中的注释编译为类文件后,它们将被删除或忽略。类文件不是供人阅读的-
它们经过优化可以在虚拟机上高效运行。如果保留注释,它们只会导致类文件大于所需的大小,并且没有任何额外的好处(即,编译器和虚拟机不理解注释,因此为什么要包含它们)
对于XML文件,通常会保留注释。编译后的类文件只有一个用途(可在虚拟机上运行),而XML文件可以满足许多用途。例如,您可以将XML文件加载到应用程序中并进行操作。根据您的应用程序中XML文件的使用,可能需要将注释保留在其中-
实际上,您的应用程序可能会专门查找注释。由于XML文件的用途广泛,因此如果出于其他目的需要使用注释,则不会从XML文件中删除注释。
null 代码(步骤1和2): 实际上,第一个任务执行良好,并为注释处理器实现编译.class文件。它在第二个任务停止。 Ant说: Java 1.6 Ant 1.8.2
问题内容: 我有以下由Eclipse生成的代码(.java文件)。 现在,我想从命令行编译以上文件。我转到了源代码所在的目录,并尝试了两个命令: 1. javac HelloWorldSWT.java 2. javac -d / home / myname / workspace / HelloWorldSWT.java 在这两种情况下,我都有相同的错误“无法解析导入org.eclipse”。/
问题内容: 我可能只是看错了方向,但我发现有关批注处理的JSE文档非常稀疏。我想编写一个注释处理器,该处理器处理带注释的String字段和局部变量,以计算的String表达式替换它们。这应该不会太复杂,但是我对于Javax.annotation.processing的Javadoc却迷失了。 编辑:我需要在编译时处理批注,因为我想修改生成的代码。它应将带注释的常量String表达式替换为计算的St
问题内容: 我有一个注释处理器,用于保留策略= SOURCE的注释。 我不知道如何逐步调试它。 运行mvn install,编译或打包或ant javac时,我已发布了打印语句,记录器信息,并且在编译日志中看到了它们的sysout。 但是,我不知道如何在Eclipse中逐步调试处理器。我的意思是,您如何逐步调试编译时? 问题答案: 您必须使用调试配置从Eclipse调用Java编译器(您需要从“调
问题内容: 好吧,标题是不言而喻的。我在编译有很多注释行的项目时想知道这一点。这有点愚蠢,因为jar文件不会增加太多(某些字节),但是我很好奇这是否会影响带有大量代码和注释的程序。 谢谢 问题答案: 它不会影响执行或性能(除非您注释了错误的语句:-) 但这 绝对 会影响可读性。没有理由(在生产中)使用大量注释掉的代码,版本控制是必经之路 另请参阅 此问题。 问题结束。
我有一个android项目,其中既有Java的文件,也有kotlin的文件。 编译后,当我解压缩生成的apk文件时,我可以在它们的包路径中看到我的项目的所有Kotlin文件。然而,Java的档案并不存在。 我怎样才能修复这个问题,并阻止Koltin文件被添加到apk中? 谢谢 我的建筑。Gradle: