我的方案如下:我有一个远程服务,任何应用程序都可以通过Messenger进行通信。应用发送我定义的自定义事件。每个事件都定义了要执行的“操作”(类似于Android的Intent
)。为了测试服务发送和处理事件,我想设置一个新的事件动作(例如EventAction.DEBUG
),但我不希望这个动作和处理它的代码出现在发行版中, 。
这就是我的想法:
final static boolean
变量有条件地执行代码。我不喜欢这个,因为硬编码变量。您认为实施此行为的最佳方法是什么?
答案 0 :(得分:4)
A final static
。 ProGuard将删除未使用的代码。
关于配置文件值 - 如果它在运行时永远不会改变,它只是“无用”,并且与应用程序的其余部分相比,比较并不是那么慢。
答案 1 :(得分:2)
Android的ADT版本17及更高版本已包含BuildConfig.DEBUG变量,该变量在导出已签名的APK(用于发布)时设置为false。