当前位置: 代码迷 >> Android >> 问个有关Thread的有关问题
  详细解决方案

问个有关Thread的有关问题

热度:94   发布时间:2016-04-28 05:26:06.0
问个有关Thread的问题
我在A activity的点击事件里开了个线程new Thread(new Runnable() {// do something}).start(),等线程跑完后会发送一个handler.sendMessage,然后A activity再做一些UI的处理,但如果我在打开线程的同时,把A activity关掉了,线程还是在那里运行着,请问,如何在关闭A activity的同时,把线程也关闭了?
------解决方案--------------------
嗯,有點麻煩, 自定義線程應該可以,如下:
CustomThread extends Thread {

volatile boolean mQuit = false;
...

public void quit() {
    mQuit = true;
    interrupt();
  }

@Override
  public void run() {
   ....
   while(true) {
      try {
           ......
      } catch (InterruptedException e) {
        if (mQuit) {
          return;
        }   
        continue;
     }
   }
}

------解决方案--------------------
那你就不要直接star了,理解一下activity的生命周期,把开始线程的方法写到里面,跟这activity开始而开始,activity销毁线程终止
------解决方案--------------------
重写onDestory()方法,在里面关闭线程。
------解决方案--------------------
声明一个类继承thread来操作关闭吧
  相关解决方案