我搜索但没有找到解决方案。 我有一个在线程中运行的无限游戏循环。这是非常长的,所以当我退出我的应用程序并使用while(条件)时,它将继续分别在Android中启动另一个应用程序。 我怎么能阻止它? 如果线程得到中断信号,我必须在每个方法之间进行检查吗?
答案 0 :(得分:2)
如果您的循环在另一个线程上运行,您可以创建自己的自定义线程。简单地添加一个停止方法,你就完成了。
这个想法:
private boolean run = true;
public class MyThread extends Thread{
public void stopThread(){
run = false;
}
@Override
public void run(){
while(run){
//large code block
if(!run)break; //to make sure the thread will stop in time
//another large code block
}
}
}
只需调用myThread.stopThread()即可立即停止它。
你也可以使用ASyncTask,它有一个方法cancel(boolean)来立即停止它。