Существует много API Android SDK, в которых зарегистрированы обработчики обратного вызова. Для конкретного примера, с помощью MediaPlayer вы можете установить обратный вызов onCompletionListener. Будут вызваны эти обратные вызовы из основного (UI) потока? Если ответ "зависит", тогда я ищу некоторые общие правила для того, какие вызовы будут вызываться из основного потока по сравнению с другим потоком. Документация SDK, похоже, не говорит об этом. (Возможно, я пропустил это.)
Кажется важным знать, потому что, если мне гарантированы обратные вызовы с основным потоком, я могу пропустить некоторую синхронизацию потоков данных, разделяемых между разными местами кода. Если я вынужден быть пессимистичным из-за незнания, тогда я должен написать дополнительный код блока синхронизации и беспокоиться о взаимоблокировках, целостности данных и снижении производительности.