有时当一个组件或者activity被destory()的时候要求其启动的线程也一起终止掉,我看书总结了一下有这有几种方法:
1、初始化的时候,定义启动的线程为一个守护线程,这样当主线程消亡掉的时候,其他线程也会被终止。
1
2
3
|
// myThread.setDaemon( true ); myThread.start(); |
2、可在activity中的onstop()方法中调用以下代码。
1
2
3
4
5
|
if (myThread null ) Thread 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) // } boolean paused false ; // protected void onPause() paused true ; super .onPause(); } // @Override protected void onResume() super .onResume(); paused false ; } |