标签归档:valatile

ProGuard混淆丢掉空循环

项目正要发布时,我用proguard打了个混淆包,想不到运行的时候出错了。proguard是Netbeans6.9 J2ME插件自带的,版本号是4.4。 无奈只好debug加反编译,发现居然混淆后的代码里,我用来挂起线程的空循环语句,所谓的busy-waiting loop被去掉了 原代码大概如下: boolean a = false; new Thread().start while(a); 混淆后的代码while(a);这句已经不见了 加上个括号也不行 boolean a = false; new Thread().start while(a){ } 必须做些操作,循环才会正确运行。 boolean a = false; new Thread().start while(a){ System.out.print(""); } 想必是proguard给优化掉,Google了一下居然被我找到了一段Troubleshooting(原文地址),摘录如下:

发表在 编码大猩猩 | 标签为 , , , , | 留下评论