Clear UI Thread Queue
Copied from How to clear ui thread queue?
Q: How to clear UI Thread queue?
A: The UI thread is also a Looper thread, and it ONLY have ONE Message Queue.
So if you create a handler in UI thread, and then call handler.post(runnable), the runnable task will store in the queue. If you call runOnUIThread(), the run task will also store in the SAME queue, refer to the method source code:
5289 public final void runOnUiThread(Runnable action) {
5290 if (Thread.currentThread() != mUiThread) {
5291 mHandler.post(action); // runOnUiThread also calls handler.post()
5292 } else {
5293 action.run();
5294 }
5295 }
And mHandler.removeCallbacksAndMessages(null) can remove all callbacks and messages in the queue.