Я использую метод Runnable
для очереди на основные потоки, но мне нужно очистить все задачи очереди, которые я отправил раньше, перед отправкой нового. Как это сделать?Как очистить UI очередь в потоке
ответ
использовать Handler
для публикации. Он имеет тот же эффект runOnUiThread. На вашем экземпляре обработчика вы можете вызвать removeCallbacks(null)
, который удалит все элементы в очереди обработчика, или removeCallbacks(yourannableinstance)
, которые удалить каждый элемент yourannableinstance
рода
Вы можете использовать метод removeCallbacks(Runnable r)
. Если они анонимны, вы можете использовать removeCallbacksAndMessages(null);
. Если это не исправить проблему, пожалуйста, дайте мне более подробную информацию.
Пользовательский интерфейс потока также является Looper
нить, и это есть только одинMessage Queue
.
Так что, если вы создаете обработчик в потоке пользовательского интерфейса, а затем вызываете handler.post(runnable)
, выполняемая задача будет хранить в очереди сообщений.
Если вы вызываете runOnUIThread()
, задача запуска также будет в той же очереди сообщений.
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 }
mHandler.removeCallbacksAndMessages(null)
И поможет вам удалить все обратные вызовы и сообщения.
- 1. Как очистить очередь ChiselUtil?
- 2. Как очистить очередь текста?
- 3. Как очистить очередь ActiveJob
- 4. Как очистить очередь MPMusicPlayerController?
- 5. Как очистить очередь plupload
- 6. Как очистить очередь сообщений POSIX?
- 7. Как очистить очередь сообщений IPC?
- 8. Как очистить очередь событий SDL?
- 9. Как очистить исходящую очередь MSMQ
- 10. Как очистить очередь установки macports?
- 11. Очистить Jquery очередь нажмите
- 12. Очередь сообщений диспетчера UI заполняется
- 13. Как очистить очередь журнала в C#?
- 14. Как очистить очередь в Oracle AQ
- 15. Как очистить очередь JMS в Jboss
- 16. Как очистить многопроцессорную очередь в python
- 17. Необходимо очистить очередь многопроцессорности Python
- 18. Как правильно очистить очередь, содержащую структуры?
- 19. Как я могу очистить очередь MassTransit?
- 20. Очистить очередь для sideDown jquery
- 21. Редактируемая очередь задач, выполняющихся в фоновом потоке
- 22. Как очистить очередь jms от весенних jms?
- 23. Android - сообщение Runnable в UI потоке
- 24. Удаление отправленных сообщений в UI потоке
- 25. хочу очистить очередь в удаленной машине rabbitmq
- 26. Доступа к UI в потоке
- 27. Как очистить ui-select программно?
- 28. Очистить кодированный ui тест
- 29. Нужно ли мне очистить «обработанную» очередь Resque?
- 30. Нужно очистить Java EDT (очередь отправки событий)
Согласен с вышеуказанным ответом. Использование Handler - лучший вариант. Добавьте к ответу ссылку http://developer.android.com/reference/android/os/Handler.html и удалите http://developer.android.com/reference/android/os/Handler.html#removeCallbacks (java.lang.Runnable) – Raghunandan