我一直在开发有多项活动和服务的应用程序。
在我的活动中,我已经开始了一个主题,在后台为我做了一些重要的工作。
以下是线程的代码
OnCreate()
{
Runnable runnable = new MyRunnableThread();
MyThread= new Thread(runnable);
MyThread.start();
}
private class MyRunnableThread implements Runnable {
@Override
public void run() {
while (!Thread.currentThread().isInterrupted()) {
try {
// Doing some work here ..
Thread.sleep(2000); // Pause of 2 Second
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
} catch (Exception e) {
FirebaseCrash.report(e);
}
}
}
}
现在这就是我的线程正在运行的方式..
现在我使用以下代码停止此线程
MyThread.Intrrupt();
这将阻止我的线程执行..
在我的场景中,有时当应用程序崩溃时,这些线程会继续运行,从而导致我的应用程序逻辑出错。
我想在应用程序崩溃的情况下立即停止这些线程。
这是停止线程执行并停止的正确方法吗?
我也在服务类中使用线程,并且在混淆状态下,可能有多个同一实例的线程一次在app中运行,因为之前没有正确停止!!!
请指导!!!