Android в качестве операционной системы не может гарантировать ваше пользовательское приложение любой производительности в режиме реального времени. Пользовательское пространство Android отличается от обычного пользовательского пространства Linux, что не имеет большого значения, потому что ни один из них не подходит для жестких требований в реальном времени. Написание собственного кода может немного помочь, но все равно не даст вам никаких гарантий ответа или своевременности.
Возможно, вы сможете достичь производительности в режиме реального времени, внеся изменения в ядро. Увеличение количества исправлений в ядре (таких как изменения, внесенные патчем PREEMPT_RT) и реализация вашего кода в реальном времени в качестве процедуры обработчика прерываний, вызванной прерыванием с высоким приоритетом, может позволить вам получить время отклика в диапазоне от 10 до 100 с микросекунд , К сожалению, есть несколько проблем с этим подходом:
- Хотя ядро Linux в Android не сильно модифицировано, его достаточно много, чтобы существующие исправления в реальном времени Linux, вероятно, были несовместимы. Вам нужно будет исправить множество дополнений ядра Android с нуля.
- Приложение Android не может просто установить модифицированное ядро на устройство Android. Ядро должно быть распределено отдельно и свернуто на разблокированном устройстве. Это довольно непрактично для большинства приложений; однако это может быть разумным для целенаправленных систем.
Наконец, если у вас есть возможность разработки & взаимодействия пользовательского оборудования, вы можете легко выгружать в реальное время LED управление простым микроконтроллера. Большинство устройств имеют доступные интерфейсы, которые могут быть подключены к микроконтроллеру. И, конечно, если вы создаете собственное устройство, у вас есть много возможностей для взаимодействия с микроконтроллером.
Основываясь на вашем предыдущем вопросе о светодиодах, я думаю, вам придется либо идти по маршруту пользовательского ПЗУ, либо осознать, что вы пытаетесь сделать машину летать. И если это светодиод камеры/Flash - тогда вы находитесь в глубоком мире аппаратных драйверов. Одно из предложений - выгрузить светодиод строба на пользовательское USB-оборудование, которое можно вызвать через API-интерфейс USB. –