Обработчик против темы

Я хотел бы знать раз и навсегда. Я читал во многих местах. Когда я хочу выполнить некоторые "длительные операции", я должен использовать Handler.

Но почему я не понимаю? Все мои "длительные операции" я окружаю с помощью обычных потоков, и он отлично работает.

Зачем использовать Handler для этого?

Единственный раз, когда мне приходилось использовать Handler, было, когда мне пришлось запланировать некоторую задачу (postDelayed)

Есть ли какая-то основная идея, которую я пропустил? handlers (Когда я действительно должен ее использовать)? Или, может быть, нет разницы?

Ответ 1

A Handler позволяет вам общаться с потоком пользовательского интерфейса из фонового потока. Это связано с тем, что операции пользовательского интерфейса запрещены из фоновых потоков. Обратите внимание, что начиная с версии 1.5 класс AsyncTask значительно облегчает это.

Ответ 2

Это не просто попытка вернуть вас к потоку пользовательского интерфейса, так как runOnUiThread (Runnable) делает это очень красиво. Я подозреваю, что это больше упрощает для Android управление потоками и другими ресурсами, которые не должны жить вне контекста активности, и что исключения "Активность просочились..." говорят вам, когда это произошло.