我有以下处理程序
private Handler uiHandler = new Handler()
{
@Override
public void handleMessage(Message msg)
{
switch (msg.what)
{
case UPDATE:
// Perform UI updates here
// UI Updates done, schedule WORK in 15 seconds:
this.sendMessageDelayed(this.obtainMessage(WORK), 15000);
break;
case WORK:
{
new Thread(checkUpdates).start();
}
break;
default:
super.handleMessage(msg);
}
}
};
在onResume()
内我执行以下操作:
uiHandler.sendMessageDelayed(uiHandler.obtainMessage(WORK), 1000);
在onPause()
内我执行以下操作
uiHandler.removeCallbacksAndMessages(null);
但是处理程序永远不会停止并继续重复。
如何阻止它?
(旁边的问题:正在使用带有标记的计时器任务,UI是否仍在进行某些更新是更好的选择)