我有一个功能(用Android NDK用c ++编写)来进行一些图像处理。但是,有时功能被卡住,我的应用程序冻结了。为了避免这种情况,我尝试了以下操作:
processingDone = false;
thread = new Thread(new Runnable() {
@Override
public void run() {
angle = lineDetection(mat5.getNativeObjAddr()); // c++ function
processingDone = true;
}
});
thread.start();
long endTime = System.currentTimeMillis() + 80;
while (endTime > System.currentTimeMillis() && !processingDone);
thread.interrupt();
thread = null;
现在,当函数卡住时,应用程序崩溃而不是冻结。我究竟做错了什么? (我正在使用Android Studio)。
谢谢。