Судя по этому сообщению из документации AIDL, существует только один допустимый вариант использования AIDL.
Использование AIDL необходимо только в том случае, если вы разрешаете клиентам из разных приложений доступ к вашей службе для IPC и хотите обрабатывать многопоточность в своей службе.
Что именно означает «обработка многопоточности» в этом контексте? Это больше, чем просто наличие службы с несколькими запущенными потоками?
В документах далее говорится:
если вы хотите выполнять IPC, но вам не нужно обрабатывать многопоточность, реализуйте свой интерфейс с помощью Messenger.
Почему Мессенджер неприемлем для сервиса, поддерживающего многопоточность? Нельзя было организовать связь между потоками внутри мессенджера (без использования разделяемой памяти)?
Проблема в том, что этот код будет значительно сложнее, чем использование обработчика?