停止android处理程序循环

时间:2010-04-12 09:57:33

标签: android

我正在使用扩展Handler类的类来更新我的活动UI。 侧面主要活动

中的代码如下
public class RefreshHandler extends Handler {

     public void handleMessage(Message msg) {


      Homeform.this.updateUI();
     }
     public void sleep(long delayMillis) {
      this.removeMessages(0);
         sendMessageDelayed(obtainMessage(0), delayMillis);
     }
 };

 private void updateUI(){
  Log.v(""," I am inside Update UUI=====================");

  refresh();
     mRedrawHandler.sleep(5000);

 }

我在RefreshHandler的对象上调用了此方法handleMessage(),如下所示

mRedrawHandler = new RefreshHandler();

mRedrawHandler.handleMessage(new Message());

但是在这里我面临的一个问题是它在关闭我的应用程序后也在运行。

请在关闭此应用程序时解决我的问题以停止此处理程序。

谢谢..

2 个答案:

答案 0 :(得分:8)

onDestroy,调用删除

mRedrawHandler.removeMessages(0);

答案 1 :(得分:1)

这样的事情应该有效:

if(!isFinishing()) {
    sendMessageDelayed(obtainMessage(0), delayMillis);
}

即。在sendmessage-line

周围添加if语句