在我寻找java中的ifdef等价物时,我发现了一个描述条件编译方法的伟大线程:#ifdef #ifndef in Java
我不明白这到底是怎么回事:
为什么是第二种形式
(system.getproperty)比
第一个(假/真)?
“fast”不是java的
predefined properties。这个
可能意味着我必须定义
在我的密码里。什么是
在安卓系统中实现这一点的最佳位置
应用程序?oncreate()是个好地方吗?

最佳答案

1)第一个将由编译器进行优化。也就是说,您将布尔属性设置为“true”,编译器将放弃条件的else分支。如果将其设置为false,则会丢弃then分支。如果想快速切换到慢速,则必须重新编译代码,反之亦然。
2)启动应用程序时,必须定义系统属性。设置虚拟机范围的属性是一个预先执行的操作。我不是android专家,但我怀疑你能否在android应用程序的oncreate事件中设置这些。system.getproperty背后的核心思想是,在启动虚拟机时,可以通过传递一个额外的命令行参数(如-dfast=true)来切换应用程序模式。

10-06 05:21
查看更多