Мое понимание разницы между мессенджером и AIDL заключается в том, что оба они используются для межпроцессного взаимодействия, но первый используется, когда безопасность потока должна быть обеспечена неявно. Messenger создает очередь, и каждый запрос обрабатывается один за другим, а в случае из последних разработчик должен явным образом обеспечить безопасность потоков. Может ли кто-нибудь объяснить мне сценарии/прецеденты, изображающие разницу между AIDL и мессенджером? Пожалуйста, дайте мне конкретные варианты использования.
В чем разница между AIDL и мессенджером в плане использования?
Ответы (1)
Прочтите этот ответ, в нем довольно четко даны подробности AIDL.
Я также много искал об этом, когда учился, и нашел это полезным для меня тогда, поэтому делюсь с вами.
Эта статья помогла мне получить основы AIDL, довольно хорошо.
AIDL против Messenger Queue: насколько я понял (может быть, я ошибся, так что любой, кто знает лучше, может меня исправить) AIDL предназначен для определенной цели, когда вы нужно перейти на уровень приложения для обмена данными и управления, сценарий, изображающий это, может быть: приложению требуется список всех контактов из приложения «Контакты» (часть содержимого находится здесь), плюс оно также хочет показать продолжительность вызова, и вы также можете отключиться это из этого приложения (управляющая часть находится здесь).
В очередях Messenger вы больше находитесь в приложении и работаете с потоками и процессами, чтобы управлять очередью с сообщениями, поэтому здесь нет вмешательства внешних служб.