В докладе:
Как "олдскульный" AIDL вполне неплохо может быть использован в мире современных паттернов.
На примере существующего и опубликованного в Play Store приложения будет показано, как команда проекта реализовала аудио плеер с применением IPC.
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
AIDL в современном мире, Виктор Лапин. 8 июня, 2019
1. AIDL в современном мире
Виктор Лапин
Руководитель группы разработки
Компания Адвантум
mail: lapin@advantum.pro
twitter: @VictorLapin 1
2. О чем этот доклад?
● Как мы реализовали взаимодействие между UI
приложения и сервисом воспроизведения аудио при
помощи AIDL
● Какие при этом могут быть подводные камни
● Стоит ли это делать вам
2
5. Воспроизведение аудио...
● является фоновой “долгоиграющей” задачей
● должно быть устойчиво к попыткам системы вернуть
выделенные ресурсы
● представляет собой отделимый (и заменяемый) кусок
функционала
5
13. Android Interface Definition Language (AIDL)
● Предназначен для облегчения межпроцессного
взаимодействия (Inter-Process Communication)
● Используется для написания контракта, который
сервис и клиенты будут использовать для “общения”
● На основе контракта создается абстрактная “заглушка”
(Stub), которая держит под капотом всю сложную
логику
13https://developer.android.com/guide/components/aidl
14. Плюсы AIDL
● Проверенная временем технология
● Строгий интерфейс + типизация параметров
● Запас “прочности” на случай усложнения архитектуры
14
15. Минусы AIDL
● Многопоточность - требуется ручное обеспечение
потокобезопасности
● Относительная сложность реализации
● Для простых приложений/сервисов избыточен
15