Кто-нибудь знает, насколько велики накладные расходы для служб в Android.
И если есть какие-либо другие аргументы, помогающие мне со следующим дизайнерским решением.
У меня есть две базы данных SQLite, одна из которых хранит фактические данные (в основном инвентаризация продуктов только для чтения), другая хранит настройки, списки выбранных элементов и т. д.
Теперь я создал сервис для управления этими базами данных по двум основным причинам:
- Я хочу иметь возможность «сохранять при закрытии» (настройки), что возможно с помощью onDestroy
- Загрузка данных занимает некоторое время, поэтому быстрое закрытие приложения сохраняет данные в памяти.
С точки зрения дизайна я мог бы:
- Создайте один сервис, обрабатывающий обе БД
- Создайте две службы, каждая из которых обрабатывает одну БД
Создавать отдельную службу для каждой БД кажется чище, например. расширение общего базового класса, чтобы позаботиться о выключении, таймерах и т. д. Это также позволяет мне настраивать их независимо (что НЕ требуется прямо сейчас).
С другой стороны, я не хочу начинать идти по этому пути, а потом, когда я привыкну делать такие вещи в «сервисах», обнаружив, что существует ограничение в 3 или 5 сервисов.
Итак, каковы накладные расходы, например. 5 запущенных сервисов или один сервис с 5 различными функциями? Любые идеи?