Эффективные (с низкой задержкой) способы связи между процессами? - PullRequest
1 голос
/ 07 июля 2011

Я заинтересован в создании модуля, который предоставляет новые данные с частотой около 30 Гц и хочет передавать их приложениям с минимально возможной задержкой (из-за проблем с пользовательским интерфейсом приложения должны реагировать и обновляться на уровне около 15 -30Hz).

Я рассматриваю либо системную службу, либо модуль ядра для Android, и мне любопытно узнать о разных подходах к обмену данными между моим новым модулем и другими процессами, требующими данных.

Я свободен вносить изменения в платформу Android или, если необходимо, работать на собственном уровне.

Просто глядя через Binder API, он выглядит довольно тяжелым и медленным. Я прав, и каковы некоторые альтернативы (например, файлы канала?)

Включает ли вызов Binder IPC переключение контекста?

Мне кажется, что сегмент совместно используемой памяти обеспечит минимально возможную задержку. Есть ли у Android поддержка для этого на уровне Java?

1 Ответ

0 голосов
/ 07 июля 2011

Если вы можете использовать NDK, вы можете использовать общий объект Mmaped File, Linux вращается вокруг этого

...