IMO, AsyncTask был написан для обеспечения удобного и простого в использовании способа выполнения фоновой обработки в приложениях Android, не слишком заботясь о низкоуровневых деталях (потоки, циклы сообщений и т. Д.). Он предоставляет методы обратного вызова, которые помогают планировать задачи, а также легко обновлять пользовательский интерфейс при необходимости.
Однако важно отметить, что при использовании AsyncTask разработчик подчиняется его ограничениям, которые возникли из-за проектных решений, принятых автором класса. Например, Недавно я обнаружил, что существует ограничение на количество заданий, которые можно запланировать с помощью AsyncTasks.
Обработчик является более прозрачным из двух и, вероятно, дает вам больше свободы; поэтому, если вы хотите больше контролировать вещи, вы бы выбрали Handler, иначе AsynTask будет работать просто отлично.