Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Android: service, bind, unbind, serviceconnection, ibinder, lifecycle

Как работают методы bind и unbind у Android-сервисов?

Проверяет понимание механизма привязки к сервису (bound service) и обмена данными.

Короткий ответ

bindService(Intent, ServiceConnection, flags) связывает клиент (Activity или другой компонент) с сервисом, вызывая в сервисе onBind(Intent) и возвращая IBinder для взаимодействия. unbindService(ServiceConnection) разрывает связь, и если нет других клиентов и сервис не был запущен через startService, он завершается.

Длинный ответ

bindService

  • Клиент: context.bindService(intent, connection, BIND_AUTO_CREATE)

  • Сервис: onBind(intent): IBinder? — возвращает мост для RPC.

ServiceConnection

  • onServiceConnected(name, binder) — получение IBinder.

  • onServiceDisconnected(name) — сбой соединения.

unbindService

  • Клиент вызывает context.unbindService(connection)

  • В сервисе, если нет клиентов и он не стартован, вызывается onDestroy().

Особенности

  • Можно одновременно bind и start.

  • BIND_AUTO_CREATE создаёт сервис автоматически.

  • Аватар

    Android Guru

    Anton Gulyaev

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    5

Навыки

  • Android

    Android

Ключевые слова

#service

#bind

#unbind

#serviceconnection

#ibinder

#lifecycle

Подпишись на Android Developer в телеграм

  • Аватар

    Android Guru

    Anton Gulyaev

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.