如果函数运行超过指定时间,则中断该函数

时间:2019-05-16 19:13:52

标签: android

我有一个功能(用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)。

谢谢。

0 个答案:

没有答案