Qual é o Better ScheduledExecutorService ou AlarmManager no android?

Sou iniciante e estou desenvolvendo um aplicativo Android que continuará enviando SMS para o usuário após um certo atraso (que é em dias). Quero que o usuário, uma vez registrado, receba o SMS independentemente do fato de estar logado dentro ou não. O conteúdo do SMS e o número do celular são buscados no banco de dados. Então, depois de pesquisar, encontrei duas maneiras

ScheduledExecutorService

AlarmManager

O problema é que o alarmManager será desligado quando o telefone for desligado ou reiniciado. Este também é o caso de ScheduledExecutorService? E quantos threads devo usar no ThreadPool enquanto estiver usando o Serviço Executor?

questionAnswers(1)

yourAnswerToTheQuestion