2013-08-23 3 views
1

J'ai un programme android simple contenant une activité et un service. Je démarre le service de l'activité en appelant: startService()Lorsque je ferme l'activité, le service est tué puis redémarré

Le service doit continuer à s'exécuter lorsque je ferme mon activité en l'appelant startService. Ce que je remarque, c'est que lorsque je ferme l'activité, le service est tué puis redémarré après peu de temps.

Est-ce un comportement normal chez android? Si c'est normal, existe-t-il un moyen de faire fonctionner le service exact?

Merci beaucoup Rami

+3

Android peut décider de supprimer votre service à tout moment et de le redémarrer si vous définissez les indicateurs appropriés. Vous ne pouvez pas changer cela. Cependant, je pense que votre cas n'est pas normal, car en théorie, Android ne tue que les services en raison de la RAM faible, pas parce que votre «activité» se ferme. – dst

+0

Humm, merci pour la réponse. Je vais vérifier s'il y a quelque chose qui ne va pas, mais votre réponse m'amène à une autre question: puis-je définir une action à entreprendre avant que le système décide de tuer mon service? – Rami

Répondre

1

Comment allez-vous "clôture" l'activité? Il n'est pas nécessaire de tuer une activité une fois que vous l'avez utilisée, et le service doit continuer à fonctionner même si votre activité est en arrière-plan. Service.onDestroy() est appelé avant que le système ne détruise votre service.

Cependant, je suis enclin à croire que vous avez un problème différent, car il est inhabituel pour un service d'être tué, sauf si votre appareil est très faible en mémoire.

Questions connexes