Неправильно ли использовать несколько фоновых сервисов в одном приложении для Android? - программирование
Подтвердить что ты не робот

Неправильно ли использовать несколько фоновых сервисов в одном приложении для Android?

Я хотел бы отделить некоторые вещи друг от друга (в этом случае задача с интервалом в 15 секунд опроса базы данных и сторонняя библиотека, которая получает push-уведомления от нашего sip-сервера). Я бы хотел, чтобы они разделились в основном, чтобы код был более читабельным, но я также считаю, что чище вообще держать отдельные задачи, вы знаете, разделены...
Это говорит о том, что плохая практика заключается в использовании нескольких сервисов для этого? Возможно, лучше использовать одну услугу с несколькими потоками? Возможно ли использовать более одного сервиса? Я еще ничего не пробовал, я не хочу переписывать код, если это может быть плохо.

4b9b3361

Ответ 1

Прежде всего, служба не подразумевает, что работает отдельный поток, но я предполагаю, что это то, что вы хотите сделать. Если вы запускаете несколько потоков, нет возможности AndroidOS прекратить их, кроме того, что убивает всю Dalvik VM. А это означает, что у вас нет возможности узнать, когда вы собираетесь прекратить свое существование. Если у вас есть служба с потоком и правильное управление жизненным циклом, т.е. Убейте поток, когда Android уведомляет службу о том, что она собирается остановить ее, тогда ее легко поддерживать.

Относительно вашего вопроса: используйте несколько сервисов с одним потоком каждый