如何打破LONG无限循环

时间:2015-01-08 22:58:56

标签: android loops exit break infinite

我搜索但没有找到解决方案。 我有一个在线程中运行的无限游戏循环。这是非常长的,所以当我退出我的应用程序并使用while(条件)时,它将继续分别在Android中启动另一个应用程序。 我怎么能阻止它? 如果线程得到中断信号,我必须在每个方法之间进行检查吗?

1 个答案:

答案 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)来立即停止它。