当前位置: 代码迷 >> Android >> 小弟新手 ,请大家看看小弟我这个做法的线程如何销毁呢
  详细解决方案

小弟新手 ,请大家看看小弟我这个做法的线程如何销毁呢

热度:73   发布时间:2016-04-28 07:21:16.0
小弟新手 ,请大家看看我这个做法的线程怎么销毁呢?
我想在Test跳转或者关闭的时候 销毁里面创建的线程new Thread(),不知道该怎么操作,望大家不吝赐教啊!!!
代码如下:

public class Test extends Activity implements OnClickListener{

private Button btnTest;
public final static int LOAD_PROGRESS =0;
    
    Handler handler = new Handler(){  
        public void handleMessage(Message msg){  
            switch(msg.what){  
            case LOAD_PROGRESS:  
              
                  Toast.makeText(getApplicationContext(), (String)msg.obj,Toast.LENGTH_SHORT).show(); 
  
                break;  
            
            }  
            super.handleMessage(msg);  
        }  
    }; 
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
 
setContentView(R.layout.activity_main);
 
btnTest=(Button)findViewById(R.id.btnSysconTest);
btnTest.setOnClickListener(this);
 
}
 
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.Test:
 
      Test();
      
break;
 
}
}
    private void Test()
    {
          
     new Thread()
               {  
                public void run()
                 {  
                  Message msg = new Message(); 
                  -------- 一些操作 ------------
          msg.what = LOAD_PROGRESS;
          msg.obj="aaaaaaa";
          handler.sendMessage(msg);  
                }  
            }.start();  
     }
    @Override 
    protected void onDestroy() {  
        //是在这里将线程销毁掉吗???  怎么做呢???
        super.onDestroy();  
    }  
}

------解决方案--------------------
本来是handler.removeCallbacks(线程名);但是你没定义你的线程,你怎么在 onDestroy() 方法里面销毁了
------解决方案--------------------
boolean isStop = false;
Thread test = new Thread(){
    public void run() {  
        while(!isStop) {
           逻辑处理
        }
    }
};

在onDestroy中
isStop = true;
test.interrupt();
------解决方案--------------------
你这个线程需要销毁吗?自己会销毁吧
------解决方案--------------------
线程还能销毁?
你这个代码不需要做什么...
  相关解决方案