Les réponses fournies sont exactes, je veux juste clarifier du point de vue d'un développeur iOS.
iOS est conçu pour gérer autant de choses que possible afin que vous (et les développeurs) n'ayez pas à vous en soucier. Le résultat final est une approche relativement cohérente d’une application à l’autre, y compris celles d’Apple (même si parfois Apple coupe lui-même certains coins).
Cela étant dit, le principe est le suivant:
- iOS en sait plus sur la mémoire que nous. Il sait combien il a et combien il a besoin (dans une certaine mesure).
- iOS a un contrôle total sur la mémoire. il a le mot final sur qui utilise quoi.
- Si iOS a besoin de mémoire, il la trouvera, et cela se fait généralement en supprimant d'autres processus inactifs depuis un certain temps (et il y a beaucoup de règles en coulisse, nous ne les connaissons pas toutes et nous ne connaissons pas vraiment vous inquiétez pas pour eux).
- Tout ce qu'un processeur (CPU) fait prend de l'énergie. Absolument tout. N'oubliez pas que les ordinateurs ne sont que de très petits conteneurs d'électrons qui les déplacent dans des espaces très restreints.
- Lorsqu'une application est supprimée, certains protocoles (contrats) convenus définissent ce qui doit être fait. iOS applique et transporte ces protocoles. Mais il faut travailler, ce n’est pas gratuit et certainement pas toujours bon marché (cela dépend vraiment de ce que l’application est).
Cela dit, on suppose que la plupart des utilisateurs ferment les applications dans l’espoir d’augmenter la durée de vie de la batterie, avec l’impression que, en fermant les portes, on gaspille alors moins d’énergie dans le maintien de ces applications.
La vérité est que, sur iOS, ce n'est presque jamais le cas. Lorsque vous appuyez sur la touche d'accueil, l'application est suspendue et n'utilise plus les ressources dont une autre application peut avoir besoin. Si une nouvelle application (ou même iOS) a besoin de cette mémoire, elle s'en occupera d'elle-même, mais uniquement si elle en a besoin.
En fermant les applications à plusieurs reprises, vous obligez iOS à effectuer la tâche potentiellement coûteuse de décharger réellement une application, de sauvegarder son état actuel ou non, avec le problème supplémentaire suivant: lorsque vous rouvrez l'application, tout cela doit être annulé. et, en fonction de la complexité de l'application, de nombreuses choses doivent être lues à partir de la mémoire, dans la mémoire principale du téléphone, etc. Tout ce travail supplémentaire aurait pu être évité si vous laissiez simplement l'application rester dans son état «suspendu».
Cependant …
Dans certains cas (et ils sont rares mais pas incroyablement rares), vous souhaitez supprimer les applications qui se comportent mal. Des exemples (entre autres): Applications qui traitent de l’arrière-plan audio ou services asynchrones tels que la localisation (où l’application demande un emplacement et iOS doit demander où elle se trouve, par exemple en activant le GPS si nécessaire). , streaming vidéo, etc.
J'ai eu d'innombrables exemples d'applications comme Lyft, United Airlines, voire Twitter, qui se retrouvent dans un état de panne (ou qui ne fonctionne tout simplement pas correctement), soit parce que vous êtes sur un mauvais réseau (iOS est devenu vraiment mauvais récupération de certains réseaux défectueux au cours des 3-4 dernières versions) ou simplement le réseau ne répond pas correctement.
Avec le temps, la plupart de ces problèmes ont tendance à disparaître et l'application recommence à fonctionner. mais si vous avez vraiment besoin de l'application pour fonctionner maintenant , alors vous devez aller de l'avant et payer le prix d'avoir à la tuer et la redémarrer à partir de zéro. Vous avez utilisé plus de batterie en faisant cela, mais, hé, vous en aviez besoin.
Et si cela prêtait à confusion, je peux vous donner une analogie avec une voiture, car c’est ce que nous avons tendance à faire tout le temps.
L'analogie de la voiture
Je sais que la technologie automobile a évolué et que ce n’est plus un bon exemple, mais jouez avec moi ici .
Le moteur d’une voiture consommait plus de carburant que la simple marche au ralenti. Lorsque les voitures avaient des carburateurs au lieu d’injecteurs, la situation était encore pire; C'est pourquoi, couper le moteur lorsque vous vous arrêtez à un feu rouge peut théoriquement consommer plus de carburant que de rester au ralenti pendant une minute. Les voitures plus récentes ont un mécanisme beaucoup plus efficace et peuvent arrêter le moteur, mais restent dans un état semi-démarré (n'entrons pas trop dans les voitures ici).
Vous fermez des applications, c'est comme si vous éteigniez la voiture à chaque feu d'arrêt. Plutôt que de le laisser tourner au ralenti jusqu'à ce que vous en ayez à nouveau besoin, normalement quelques secondes plus tard.
L'analogie n'est pas parfaite, car en réalité, les voitures en panne utilisent toujours du carburant, contrairement aux applications suspendues. Cependant, aux yeux du téléphone, ils n'utilisent aucun élément lié à la mémoire / à la batterie (tant qu'ils ne disposent d'aucun traitement en arrière-plan actif, évidemment).
Vous éteignez votre moteur chaque fois que vous supprimez une application, et vous ne laissez pas le mécanisme «intelligent» de veille de votre moteur iOS en prendre soin. Ainsi, lorsque le voyant passe au vert, vous pouvez simplement appuyer sur l'accélérateur et le moteur tourne plus vite que s'il avait été arrêté à 100%. Démarrer un moteur à partir d'un état arrêté consomme également plus d'énergie que le carburant. Vous devez donc tourner le démarreur pour pouvoir lancer le moteur, injecter du carburant et créer des étincelles, alors… il y a beaucoup de travail en arrière-plan. Les applications sont comme des moteurs. :)