即使应用程序或活动不可见/正在使用,处理程序也永远不会停止

时间:2014-07-06 17:05:38

标签: android multithreading user-interface handler runnable

我有以下处理程序

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是否仍在进行某些更新是更好的选择)

0 个答案:

没有答案