Ну что Вы прицепились к сервису, статья вообще не о том. Упомянутый паттерн, как я его понял, вообще про кэширование запросов к API в базе, а как реализован сервис исполнения запросов — как Service ли, как пул потоков — не важно. Впрочем, может я все напутал. А что сейчас в тренде, если не сервисы?
Можно использовать библиотеку от создателей Path github.com/path/android-priority-jobqueue, которая независимо от цикла жизни ui выполняет таски. Результат получаем с помощью любого Event Bus.
Я так понимаю, tumbler использует сервис для того, чтобы из него стартовать реквесты и ловить в нём калбэки. Т.к. если стартовать запрос из активити, и убить активити, то калбэк, например, для сохранения результата, не будет вызван.
Я использую готовую библиотеку volley, внутри у нее нет сервиса, только пул потоков. То есть при убивании activity необходимо останавливать выполнение всех живых запросов, иначе калбэки будут вызваны у наполовину мертвой активити.
Как мне кажется, сервис необходим, когда нужно гарантированное подтверждение доставки и обработки запроса (например, если приложение что-то изменяет на сервере и должно обработать результаты изменения полюбому). В моем случае это не нужно.
Списки с разными типами элементов и разными провайдерами данных