我正在寻找一个100%Java的库,可以用jpeg无损压缩解码JPEG图像.
我知道ImageIO和JAI已经可以对这些图像进行解码,但它们需要一个本机代码,而这些代码并不适用于所有操作系统.
我会考虑开源和关闭源解决方案,如ImageIO插件或独立.
当Proguard优化我的应用程序时,会断开所有呼叫Object#wait()被删除.
因此,应该被动等待(直到通知)的每个线程现在都在主动等待(100%CPU使用率).
当优化关闭时,-dontoptimize一切正常.
我是否需要优化以删除某些方法-assumenosideeffects,我正在寻找什么是错的.
是否可以保留所有Object#wait()要优化(删除)的调用?
还有其他解决方案吗?
编辑1:例如这段代码:
@Override
public void run() {
isRunning = true;
try {
while (isRunning) {
if (parent.isActivate) {
parent.updateDriveButtons();
synchronized (this) {
wait(1000);
}
}
else {
synchronized (this) {
// Wait for that the page is activated.
Utils.wait(this);
}
}
}
}
catch (Throwable e) {
e.printStackTrace();
}
finally {
isRunning = false;
}
}
Run Code Online (Sandbox Code Playgroud)
正在被这段代码替换(在反编译优化代码之后):
wait()已被删除,只有同步可见monitorenter;...monitorexit;
public final void run()
{ …Run Code Online (Sandbox Code Playgroud)