在 Android 中取消 Handler 发布到 Handler Thread 的 Runnable

Cancel Runnables posted by Handler to Handler Thread in Android

我正在使用 HandlerThreaqd 来处理需要大量时间才能完成的代码块 运行:

HandlerThread t = new .....
Handler h = new Handler(t.getLooper());
while(true)
{
    h.post(new Runnable(){ public void run() { /* code that needs a lot of time */ } });
}

很明显在一段时间后线程的消息队列中会有pending的运行nables,那么是否可以取消这些运行nables呢?有人试过吗?

您可以通过此代码取消线程:

h.removeCallbacks("name of your Runnable Obj");