Вот различные подходы для сохранения данных в фоновом режиме.
Фоновая обработка Android
Это действительно зависит от ваших требований. Если экспорт в csv может выдержать небольшую задержку, используйте WorkManager, так как он работает от батареи и автоматически использует лучший подход в зависимости от уровня API.
Используйте службу переднего плана, если вы хотите немедленное выполнение высокоприоритетного фона и вы также хотите уведомить пользователя, потому что службы переднего плана видны пользователям через недопустимое уведомление в области уведомлений. Например, загрузка вложений в WhatsApp.
Если это не очень продолжительная фоновая задача и вы не ожидаете, что пользователь закроет приложение во время этого, вы можете использовать любой подход фонового выполнения, такой как ASyncTask, Rxjava, kotlin Coroutines.
эволюция фонового исполнения . Очень интересная статья для чтения и сравнения этих разных подходов.