5 votes

Fermeture des candidatures

Je suppose que cela a à voir avec nos habitudes sur les ordinateurs de bureau où nous

  1. ouvrir une application
  2. l'utiliser
  3. fermer l'application

A priori, il n'y a pas de moyen direct de le fermer à partir de l'application. Et en appuyant sur le bouton Home, l'application passe en arrière-plan. Elle fonctionne toujours.

J'ai pris l'habitude d'appuyer sur Accueil, puis sur Applications récentes et de faire disparaître toutes les applications ouvertes.

Est-ce une mauvaise habitude ? Dois-je laisser des applications comme GMail, FB, Currents, GNow, etc. ouvertes ou est-il préférable de les fermer et d'avoir le moins d'applications possibles ouvertes ?

0 votes

À ma connaissance, le fait de jeter les applications de la vue Apps récentes ne les ferme pas, mais les supprime simplement de la liste des applications. votre pour qu'il ne fasse rien d'autre que de désencombrer vos applications récentes. Cela peut s'avérer utile si vous avez beaucoup d'applications ouvertes.

2 votes

Pour une perspective un peu plus ancienne sur ce sujet, y compris la différence entre appuyer sur les boutons Home et Back pour quitter une application, voir Quelle est la bonne façon de fermer les applications dans Android ?

0 votes

7voto

Flow Points 18254

La réponse est simple : Ne fermez pas les applications lorsque cela est possible !

Android s'occupe de la gestion des applications en les laissant traîner (ce qui n'est pas nécessaire en mémoire) lorsque c'est possible, ce qui permet des temps de démarrage plus rapides et la reprise là où vous vous êtes arrêté. Faire glisser une application de la liste des applications récentes est similaire à la fermer, mais ce n'est pas la même chose.

6voto

FabianCook Points 315

Du point de vue des développeurs (mon point de vue) :

Les applications sur Android fonctionnent d'une manière spécifique, elles ont toutes leur propre cycle de vie, les principales dont nous parlons ici sont lorsque l'application est en pause, ou arrêtée (onPause, onStop) et lorsque l'application est détruite (onDestroy), ces deux états sont mis en lumière de différentes manières, onPause est lorsque l'utilisateur ne peut plus voir l'application, ou l'écran, il s'agit du moment où l'utilisateur appuie sur home ou clique sur quelque chose à l'écran qui l'amène à un autre écran, comme un lien par exemple, il est toujours possible que vous ayez besoin de cet écran, par exemple lorsque vous appuyez sur le bouton back pour revenir à l'écran, vous voulez toujours qu'il soit dans le même état, donc l'application est toujours ouverte et attend votre retour.

L'autre état, lorsque l'application est détruite, peut se produire de trois façons. Tout d'abord, le développeur peut avoir ajouté quelque chose pour fermer l'application automatiquement, par exemple l'application Endomondo, vous pouvez appuyer sur menu > quitter, ce qui "fermera" l'application et elle ne sera plus en mémoire. L'autre possibilité est que l'utilisateur appuie sur la touche retour, c'est-à-dire qu'il n'y a aucun moyen de revenir à l'écran exact (par exemple, vous ne pouvez pas appuyer sur la touche avant pour y accéder), l'application n'est donc plus nécessaire et elle est fermée.

La troisième façon dont une application est détruite, ou fermée, est lorsqu'Android a besoin de plus de mémoire, lorsque cela se produit, il efface les applications qui n'ont pas eu d'interaction depuis le plus longtemps. Android fait cela lui-même, s'il a besoin de plus de mémoire, il l'obtiendra.

Dans l'ensemble, laisser des applications ouvertes n'est pas une mauvaise chose, mais certaines applications peuvent utiliser beaucoup de puissance CPU et pas de mémoire lorsqu'elles sont en arrière-plan, si vous pensez que cela va se produire, vous devriez les fermer vous-même, Android devrait être capable de s'en apercevoir.

Regardez ici les états d'une activité, ou d'un écran :

Activity life cycle


EDIT :

  • Appuyer en arrière sur un écran : Activité détruite ( onPause > onStop > onDestroy )
  • Faire glisser l'application à l'écart sur les applications récentes : Activité détruit ( onPause > onStop > onDestroy )
  • Pressing home : Application conservée en mémoire, uniquement si le développeur n'a pas ajouté une fonction de fermeture automatique (" self close "). ( onPause > onStop )
  • Naviguer hors de l'application, du lien, etc : L'application reste en mémoire, comme ci-dessus ( onPause > onStop )

0 votes

Je suis aussi un développeur donc cette info est très facilement consommée par mon cerveau... :) Donc, où dans le diagramme de flux se trouve l'événement lorsque j'appuie sur la touche Applications récentes et faire glisser une application hors de celle-ci (si je comprends bien, cette action revient à fermer l'application) ? Entre onPause y onStop ou entre onStop y onDestroy ? Si c'est le dernier, alors expliquez la transition d'état entre le premier et le second. Mais si c'est le premier, alors je peux voir la transition entre les deux états. onDestroy similaire à la collecte des déchets ? Événement non déterministe ?

0 votes

Regarde le montage, je pense que c'est ce que tu veux.

0 votes

Kinnda... Mais je pense que tu te trompes sur le n°1 et le n°4. Appuyer sur le bouton retour amène l'application à arrêté et non détruit . C'est toujours dans les applications récentes. C'est donc la même chose que d'appuyer sur home. et avec #4 : naviguer loin (i.e. lien) fait apparaître l'application dans la liste des applications récentes. interrompu selon le diagramme de flux.

3voto

Dielson Sales Points 409

Ce n'est pas techniquement meilleur . L'une des principales caractéristiques d'Android est de simuler multitâche . Lorsque vous passez d'une application à une autre (oui, même le lanceur Home est une application), Android pauses l'actuel activité et essaie de charger en mémoire les données du suivant. Donc, deux choses peuvent se produire ici :

  • S'il y a suffisamment de mémoire libre, les données sont chargées et la nouvelle activité est lancée. Dans ce scénario, il n'y a aucun problème pour revenir à la dernière application, puisqu'elle est déjà en cours d'exécution ;
  • En cas de manque de mémoire, Android doit "sauvegarder" les données de l'activité en cours dans le stockage interne. Cela a un coût et un délai ; après avoir fait cela, Android peut enfin charger la nouvelle activité en mémoire.

Du point de vue des performances, il est avantageux de conserver autant de données que possible dans la mémoire RAM. Le fait que les données d'une application soient toujours en mémoire ne veut pas dire il consomme les ressources de la batterie, à moins qu'il y ait une service en cours, ce qui n'est pas toujours le cas.

Donc, en appuyant sur Home o Back a en pratique le même effet sur l'utilisation de la mémoire. Android est conçu pour gérer la RAM lui-même, et ce n'est pas une bonne idée de tuer des applications à moins de savoir vraiment ce que vous faites.

De nombreuses personnes commencent à avoir des problèmes lorsqu'elles utilisent de nombreuses applications qui exécutent des services en arrière-plan. Certains services ont tendance à rester en permanence en mémoire pour effectuer certaines tâches (comme vous garder en ligne, vérifier l'arrivée de nouveaux messages, etc.) Cela coûte plus de ressources (mémoire et batterie), et si votre téléphone est lent à chaque fois, c'est une bonne idée de vérifier quels services sont en cours d'exécution et peut-être d'en désinstaller certains (vous pouvez les voir dans la section Configurations/Applications/Running services ).

Si vous voulez en savoir plus à ce sujet, vous devriez jeter un coup d'œil à ce billet : http://Android-developers.blogspot.com.br/2010/04/multitasking-Android-way.html

1voto

staticsan Points 201

D'après ce que j'ai compris, Android est censé s'en occuper lui-même. De nombreuses applications ont des services qui fonctionnent presque séparément de la partie visible et une partie du cycle de vie des applications Android est que le système d'exploitation peut en effet choisir de fermer les threads comme il l'entend.

Mais, enfouie dans la documentation, je ne me souviens plus où elle se trouve, l'information selon laquelle le fait de "reculer" pour sortir d'une application aura tendance à la fermer plutôt que d'aller simplement à "Home". Les applications à forte intensité graphique comme "Angry Birds" devraient être fermées de cette façon, en fait, parce que l'application a la possibilité de fermer correctement les threads gourmands en ressources processeur.

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