【发布时间】:2012-04-10 13:38:05
【问题描述】:
我的应用程序有两个活动。 活动一(A1)启动线程。 让我们假设这个活动(A1)进入暂停状态。 我想安全地停止正在运行的线程;如何做到这一点?
谢谢
【问题讨论】:
-
您可以查看this之前回答的问题,也可以粘贴一些相关代码。
-
一个非常好的链接!!!
我的应用程序有两个活动。 活动一(A1)启动线程。 让我们假设这个活动(A1)进入暂停状态。 我想安全地停止正在运行的线程;如何做到这一点?
谢谢
【问题讨论】:
您可以像这样在线程运行方法中使用 return 语句...
public void run(){
if(isDone)
{
return;
}
}
或者你可以使用这个...
if(thread != null)
{
Thread t1 = thread;
thread = null;
t1.interrupt();
}
【讨论】:
我建议你看看AsyncTask 和IntentService。
【讨论】:
//在Thread的side run方法中使用布尔标志如下
boolean isActivityPaused = false;
public void run(){
// use isActivityPaused boolean flag here to stop your Thread
while(!isActivityPaused){
}
}
现在这是您的Activity 的onPause() 方法
public void onPause(){
isActivityPaused = true; // set isActivityPaused= true to stop your `Thread`
}
【讨论】: