Bonjour,

depuis un petit moment déjà, je me penche sur les Services car j'en ai besoin pour l'application que je développe en ce moment.
J'ai donc crée un Service qui utilise un TimerTask et qui permet d'envoyer une notification toutes les 30 secondes.
Malheureusement, j'ai remarqué que ce service présente 2 problèmes :
1) Le compteur des 30 secondes s'arrête lorsque le téléphone est en veille et ne n'émet donc plus aucune notification
2) Il arrive qu'au bout d'un certain temps il crashe...

En fouillant un peu sur internet, j'ai vu que je n'étais pas le seul à rencontrer ces problèmes, et j'ai également vu que l'AlarmManager semblait être une solution à mes problèmes.

J'ai donc testé et effectivement, l'AlarmManager semble similaire au Service au détail près qu'il nécessite un BroadcastReceiver, et qui exécute le code du onReceive()...

Suite à cela, je me suis posé quelques questions dont je n'ai malheureusement pas trouvé les réponses.
Je me penche donc vers vous pour m'éclaircir sur certains points :
- Existe-t-il une méthode qui empêcherait le compteur du service de s'arrêter lorsque le téléphone est en veille ?
- AlarmManager n'est pas considéré comme un service, mais n'en est-il implicitement pas un ?
- Certaines personnes veulent utiliser l'AlarmManager pour lancer un service toutes les X temps, mais n'est-il pas plus simple de mettre de faire exécuter le code dans le onReceive() ?
- Est-ce plus coûteux qu'un Service en terme de mémoire ?

Je vous remercie par avance pour vos réponses !