В новом проекте я скомпилировал кишки в my.main.package, который запускает службу, которая постоянно обрабатывает данные, которые могут использовать другие клиенты / приложения
Aслужба должна работать только тогда, когда она активно доставляет значение пользователю .Пользователи думают, что разработчики, которые создают сервисы, которые работают постоянно, являются идиотами и атакуют свои приложения убийцами задач, принудительными остановками из приложения «Настройки» и т. Д.
Возможно, ваше описание просто изображает ваше приложение в плохом состоянии.легкий, но «сервис, который постоянно обрабатывает данные» - это анти-паттерн.Это телефоны и планшеты, а не серверы.
Каким будет лучший способ для любых других приложений получать постоянную подачу этого таймера и других данных, как слушатель мог бы в своей собственной песочнице и вНаименьший возможный способ налогообложения?
Лучше всего, чтобы они не были отдельными приложениями.
Например, в этом сервисе есть пользовательский поток /таймер цикла, который постоянно подсчитывает.
Это не добавляет значения пользователю.
Я предполагаю, что необходимо реализовать aidl для IPC, но я не уверенесли это необходимо и / или необходимо, поскольку данные из my.main.package являются только исходящими, то есть другим приложениям нужно только получать / слушать.
Удаленный сервис, использующий AIDL, является одним из способов выполнения IPC.Это не единственный способ.Это даже не самый распространенный способ.Вы также можете:
- отправить широковещательную рассылку
Intent
- , чтобы клиент отправил
Messenger
службе, а служба отправляет сообщения клиенту через эту Messenger
- имеет обновление службы
ContentProvider
, и клиенты регистрируют ContentObserver
на ContentProvider
Я понимаю, что должна быть какая-то форма сообщенияобработка или отправка маршаллинга и возможные разрешения с помощью aidl, но я подумал, что кодирование / декодирование посылки или отправка сообщения каждую миллисекунду будет очень обременительным.
В целом IPC "очень обременителен",Следовательно, по возможности следует избегать IPC.