Большой обзорный доклад про межпроцессное взаимодействие в Android и погружение глубже в детали работы. Binder — самый важный компонент системы и откуда взялись ограничения на Bundle.
Эксперт — Андрей Белоус, Android разработчик в Bumble.
Содержание:
- 00:00 Вступление
- 01:11 Об эксперте
- 01:39 Содержание
- 02:23 Что такое процесс
- 02:54 Жизненный цикл процесса
- 04:11 Запущенные процессы
- 04:50 Процесс приложений
- 05:10 Создание процесса
- 05:51 Процессы в Android
- 10:26 Межпроцессное взаимодействие (IPC)
- 11:56 IPC в Android
- 12:43 ResultReceiver
- 13:07 Возможности Intent + putExtra(…)
- 14:13 Content provider
- 15:46 Messenger
- 16:59 Handler
- 17:24 Реализация Messenger
- 19:31 Binder
- 21:39 Как устроен Binder под капотом
- 23:38 Интеграция Android Broadcast
- 24:27 Что умеет Binder?
- 27:12 Binder API
- 28:01 OS Parcel
- 28:27 Интерфейс Parcelable
- 29:31 AIDL
- 31:21 Работа AIDL на примере сложения
- 37:02 Другой взгляд на взаимодействие
- 37:40 binder/Parcel
- 39:21 Особенности работы с Parcel
- 39:47 Binder interaction flow
- 41:07 Binder commands
- 41:34 Структура binder_write_read
- 42:24 Вызов binder_ioctl()
- 43:39 IPCThreadState
- 44:58 Типы Binder команд
- 45:38 Пример IPCThreadState
- 49:52 Немного практики/интересные юзкейсы
- 50:20 Список сервисов, adb shell
- 50:49 Получение AlarmManager
- 53:09 Вызов системного сервиса через ADB
- 53:54 Где Binder используется в Android
- 55:24 Полезные материалы
- 56:00 Заключение
- 56:07 Как выступить в Android Broadcast