
我的应用程序中有以下代码:
public static final boolean DEBUG = true; public static final boolean REL = !DEBUG; private static final String DEBUG_OR_RELEASE = (REL) ? "RELEASE_VER" : "DEBUG_VER";我认为Java编译器将从生成的.apk文件中完全消除“DEBUG_VER”字符串(当通过Proguard导出时)但是当我检查.apk文件时,我看到那里的“DEBUG_VER”字符串.
为什么?我错过了什么?我做错了什么?
解决方法:
根据你发布的内容,DEBUG是真的,所以REL是假的,所以(REL)? “RELEASE_VER”:“DEBUG_VER”应该产生“DEBUG_VER”.
这正是你所观察到的,所以如果你期望看到“RELEASE_VER”,你应该设置:
public static final boolean DEBUG = false;试试看看会发生什么.
总结以上是内存溢出为你收集整理的Java编译器不会优化静态最终字符串.为什么?全部内容,希望文章能够帮你解决Java编译器不会优化静态最终字符串.为什么?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)