Question

Je cherche la classe la plus appropriée pour être un répartiteur pour AsyncTasks de mes activités invoquées.

Je pense que ce pourrait être l'une de celles-ci:

  1. sous-classe de Application ;
  2. sous-classe de Service
  3. ;
  4. mon propre statique des choses.

Quant à moi - il est simlier de mettre en œuvre le 3e choix. Mais la question est ce que ce sera plus « résistant à la mort » que service ou application? Il est également très intéressant ce qui vivra plus longtemps - Demande ou service? Je suppose la vie d'application tant que l'application (tâche en termes d'Android) vie de processus.

Donc, fondamentalement, je dois aller ces options par leur qualité « résistant à la mort », parce que je voudrais compter sur la chose la plus de « statique ».

Mise à jour:

A l'origine la question a été posée dans 2010 , quand (1) Android a été nouvelle plate-forme pour les développeurs et (2) la documentation Google était trop vague (dans certains cas, il a même été trompeur) sur les composants app vie -cycles et l'ensemble du processus d'application du cycle de vie.

Était-ce utile?

La solution

Vous devriez certainement utiliser un .

La principale raison derrière cela - Service a sa propre documentation cycle de vie , alors que l'application ne fonctionne pas. instance Application, comme l'un de vos variables statiques, peuvent être tués par le système presque à tout moment, vous ne recevrez aucun rappel et ne peut pas arrêter ce processus. Ainsi, les données non enregistrées (toutes les variables statiques) seront perdues.

D'autre part, Service ne peut pas être tué par un système silencieux, au moins la méthode de onDestroy() devrait être appelé en premier. Avoir ce rappel, vous pouvez enregistrer votre état dans une certaine mémoire persistante (comme SharedPreferences, fichier, base de données, etc.) et de restaurer l'état prochaine fois que votre application ou service commence.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top