11 votes

Comment empêcher les applications d'être tuées pendant le sommeil ?

J'ai un Droid 2. J'ai un jeu long et gourmand en ressources (spectral souls) que je voudrais laisser tourner lorsque je n'utilise pas mon téléphone. Si j'appuie sur le bouton "Home" d'Android pour revenir à l'écran d'accueil, puis que je relance immédiatement le jeu, il se retrouvera là où je l'ai laissé. Même chose si j'appuie sur le bouton d'alimentation pour me mettre en veille, puis que j'allume immédiatement le téléphone, le déverrouille et relance le jeu.

Si je le laisse pendant un certain temps (quelques heures), lorsque je reviens et que je lance le jeu, il démarre comme s'il n'avait jamais fonctionné. Le téléphone n'a pas été utilisé pour quoi que ce soit pendant ce temps, bien que la synchronisation soit activée.

Ma question est double : comment puis-je obtenir plus d'informations sur les applications qui sont tuées quand et pourquoi, et comment puis-je le configurer pour permettre à cette application de continuer à fonctionner ? Je n'ai pas besoin qu'elle fasse quoi que ce soit en arrière-plan, je veux juste qu'elle soit toujours là quand je reviens.

Je suis familier avec le concept d'Android qui efface la mémoire quand c'est nécessaire et n'a pas besoin d'un tueur de tâches, mais je veux qu'il ne tue pas CETTE tâche à moins que je ne la quitte vraiment.

2voto

sourcenouveau Points 3436

Suggestion : Utilisez Tasker pour désactiver le délai d'attente pour votre application. Ce site mai pour l'empêcher de passer à l'arrière-plan.

2voto

Darrel Points 116

Je suis presque sûr que ce n'est pas une option dans le design par défaut d'Android. Je n'ai personnellement jamais vu d'application pour ce genre de choses parce que la plupart des gens souhaitent que les programmes soient fermés pour conserver la vitesse du téléphone. C'est le système Android qui ferme les programmes inutilisés. Le créateur de l'application devrait concevoir un service pour qu'il continue à fonctionner en arrière-plan ou peut-être comme un calcul ou un son toujours actif pour que le système pense que le programme fait quelque chose. Cela consommerait votre batterie.

2voto

Nate Points 656

Pour répondre à la première partie de votre question ;

Comment puis-je obtenir plus d'informations sur les applications qui sont tuées, quand et pourquoi ?

Le SDK d'Android propose un résumé rapide de la mémoire d'Android. http://developer.Android.com/guide/topics/fundamentals.html

Par défaut, chaque application s'exécute dans son propre processus Linux. Android lance le processus lorsque l'un des composants de l'application doit être exécuté, puis ferme le processus lorsqu'il n'est plus nécessaire ou lorsque le système doit récupérer de la mémoire pour d'autres applications.

En fait, Android peut se résumer à tuer les programmes lorsqu'il détermine que vous ne les utilisez pas (j'ai cliqué sur "Quitter" dans l'application), ou lorsqu'il manque de ressources. Par exemple, si vous avez 512 Mo de mémoire vive, 10 Mo de libre et que vous lancez une application qui en nécessite 12, il essaiera de déterminer l'application la moins utilisée à laquelle il peut prendre ces 12 Mo.

Il a tendance à le faire assez bien (du moins d'après mon expérience). Il se peut que vous puissiez rentrer chez vous après avoir joué, et faire deux ou trois choses, mais à la troisième chose, le jeu sera évincé. Gardez à l'esprit que les jeux sont particulièrement gourmands en ressources, il est donc probable que l'application soit supprimée plus tôt que prévu.

La raison pour laquelle il disparaît après un certain temps est que vous avez probablement des processus de synchronisation qui essaient de démarrer et qui se disputent les ressources. Les pages mémoire de l'application n'ont été que très rarement touchées à ce stade, elle est donc ouverte à toute récupération de mémoire que le système d'exploitation juge nécessaire.

Pour votre deuxième question ;

comment puis-je le configurer pour permettre à cette application de continuer à fonctionner ?

Je n'utilise pas de tueur de tâches, mais je suis presque sûr que les bons (il semble que ATK soit le chef de file https://market.Android.com/details?id=com.rechild.advancedtaskkiller&feature=search_result ) ont une liste d'exceptions. Il pourrait être possible de mettre sur liste blanche le jeu que vous voulez, et sur liste noire les autres processus.

Je ne suis pas non plus familier avec ce jeu, donc je ne suis pas sûr des capacités de sauvegarde automatique et autres dont il dispose. J'espère avoir été utile.

1voto

bbaja42 Points 938

Comment obtenir plus d'informations sur les applications qui sont tuées et pourquoi ?

Vous pouvez connecter votre téléphone à adb ; et ensuite allumer logcat ; enregistrement de la sortie dans un fichier.
Le fichier journal contient des tonnes d'informations ; en recherchant le nom de votre application, vous pouvez savoir quand elle est tuée.

Que pouvez-vous faire pour éviter qu'il ne soit arrêté par le système Android ?
Je ne sais pas ; j'espère que la réponse de rAndy fonctionnera.
Cependant, je contacterais le développeur pour lui faire part du problème, car c'est lui qui devrait avoir le plus de facilité à le résoudre.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X