现在的位置: 首页 > 综合 > 正文

【task】Android终止线程

2017年12月05日 ⁄ 综合 ⁄ 共 604字 ⁄ 字号 评论关闭

有时当一个组件或者activity被destory()的时候要求其启动的线程也一起终止掉,我看书总结了一下有这有几种方法:

1、初始化的时候,定义启动的线程为一个守护线程,这样当主线程消亡掉的时候,其他线程也会被终止。

?
1
2
3
//
使用下面的方法,当初始化一个线程时
myThread.setDaemon(true);
myThread.start();

2、可在activity中的onstop()方法中调用以下代码。

?
1
2
3
4
5
if (myThread
!= 
null)
{
    Thread
dummy = myThread;
    myThread
null;
    dummy.interrupt();
}

3、可在线程run()方法中设置标志位。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if (!paused)
{
    //
do something,这是线程run方法中
}
boolean paused
false;
 
//
可在onPause()中通过设置标志位使线程不活动,
protected void onPause()
{
    paused
true;
    super.onPause();
}
 
//
可在onResume()中通过设置标志位激活线程,
@Override
protected void onResume()
{
    super.onResume();
    paused
false;
}

抱歉!评论已关闭.