Je sais que ce n'est apparemment pas une bonne idée de fermer des applications sur votre iPhone pour économiser de la batterie. J'ai lu des questions et des réponses telles que Les applications à fermeture forcée présentent-elles un avantage sur les appareils iOS? mais ça ne gèle toujours pas avec moi. Parfois, j'ai trouvé plus de 50 applications en cours d'exécution. Ne pas les fermer n'a donc aucun sens.
Peut-être que je suis un peu un vieux fanfaron et que vous ne pouvez pas enseigner de nouvelles astuces aux vieux chiens, mais quelqu'un ici peut-il expliquer POURQUOI il est préférable de simplement laisser toutes ces applications en marche? Et quand je dis «expliquer», je veux dire en termes simples, afin que je puisse comprendre.
Réponses:
Tu n'es pas seul. Les gens sont simplement habitués aux habitudes de leurs ordinateurs de bureau et il est compréhensible qu'ils les conservent sur leur iPhone ou leur iPad.
Cependant, laissez-moi essayer d’expliquer ceci en utilisant une analogie:
Imaginez qu'il fait chaud et que vous êtes en train de jardiner. Vous avez soif, alors vous entrez dans la cuisine, prenez un grand verre, mettez-y de la glace et remplissez-le d'eau. Vous en buvez ensuite la moitié et videz le reste dans l'évier avant de retourner à l'extérieur. Peu de temps après, vous avez de nouveau soif, alors vous rentrez dans la cuisine, prenez le même verre, mettez-y de la glace et remplissez-le d'eau. Encore une fois, vous n'en buvez que la moitié et videz le reste dans l'évier!
Le flux de travail ci-dessus n'a tout simplement pas de sens. Pourquoi ne prendriez-vous pas le verre dehors avec vous? Et vous ne gaspillez pas uniquement de l'eau en la vidant, mais vous passez plus de temps et d'énergie à la récupérer.
De même, lorsque vous quittez une application, vous utilisez actuellement une batterie (par exemple, en la supprimant de la RAM, etc.), puis à nouveau lorsque vous devez la relancer et la recharger dans la RAM.
Ainsi, dans la plupart des cas, il est préférable de laisser les applications ouvertes. Même s’ils sont ouverts, ils sont en réalité dans une sorte de mode suspendu qui n’utilise aucune alimentation de la batterie. Oui, l'application est toujours chargée dans la RAM et prend de la place , mais elle ne fait rien en réalité , elle est simplement en sommeil. Et, comme il n’utilise aucune batterie dans cet état, il n’ya aucun avantage à la quitter du point de vue de la conservation de la batterie - en particulier s’il s’agit d’une application que vous savez utiliser encore et encore tout au long de la journée.
Il n’ya pas non plus d’avantage à forcer la fermeture d’une application, car iOS le fera pour vous si / quand cela est nécessaire pour libérer de la mémoire vive. Donc, si 50 applications sont ouvertes et qu'elles restent ouvertes, iOS n'a pas été obligé de fermer l'une d'entre elles pour libérer de la mémoire.
Maintenant, comme toute chose, il y a toujours des exceptions à la règle (telles que les applications qui doivent effectuer des tâches en arrière-plan). Un exemple de cela est celui qui joue de la musique pendant que vous faites autre chose avec votre téléphone, ou qui télécharge du contenu en arrière-plan, ou qui compte le nombre de pas que vous parcourez en une journée, etc. Cependant, iOS a une extrême Processus efficace de gestion des applications / tâches en arrière-plan et si vous décidez de les quitter, vous dites en gros que vous n’avez pas confiance dans le système d’exploitation pour faire son travail correctement.
Alors, n'hésitez pas à quitter vos applications lorsque vous devez (par exemple, parce que c'est gelé, etc.), mais ne le faites pas pour économiser la batterie. En fait, si vous le faites, vous obtiendrez le contraire et utiliserez plus de batterie tout au long de la journée!
Sommaire
La plupart des applications du commutateur d'applications sont dans un état suspendu . Cela signifie qu'elles ne sont pas: visibles à l'écran, exécutant du code, utilisant le processeur ou le processeur graphique, ou utilisant la batterie. Cependant, ils sont toujours résident en mémoire jusqu'à ce qu'ils soient purgés ( le cas échéant) par le système pour libérer de la mémoire:
Source : voir le tableau 2-3 du premier lien de référence à la fin de cette réponse.
Les seules applications qui fonctionnent réellement sur votre iPhone à un moment donné sont l'application active (c'est-à-dire celle qui est visible à l'écran) et toutes les autres qui fonctionnent en arrière - plan . ( Remarque: il existe certaines exceptions temporaires à cela dans le cas d'applications qui ont encore besoin de temps pour terminer l'exécution du code qu'elles ont déjà démarré alors qu'elles étaient actives - généralement, cela ne prend que quelques secondes, mais peut théoriquement durer plus d'une minute.) .
Références
la source
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:
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. :)
la source
Par analogie ... avec votre voiture, si vous devez effectuer trop d’arrêts au cours de la journée et continuer à arrêter et à faire démarrer le moteur, il arrivera un moment où la batterie sera totalement épuisée. Cela peut se produire si la durée de charge entre les arrêts n’est pas assez longue pour restaurer l’énorme quantité d’énergie aspirée par la batterie à chaque démarrage du moteur. En outre, ce n'est pas bon pour le démarreur et la consommation de gaz globale. C'est pourquoi de nombreux chauffeurs de camion de livraison maintiennent le moteur au ralenti pendant leurs courts arrêts.
Cette analogie est semblable à l'IMO, comme dans le cas du mythe de la sauvegarde de la mémoire.
la source
Il suffit de jeter un avis différent pour la discussion. Ce concept a un certain degré de vérité, mais une fois que vous aurez ouvert un certain nombre d'applications, vous obtiendrez probablement des rendements décroissants si vous maintenez les applications suspendues.
Plus vous avez d'applications ouvertes, plus votre bélier va s'user, évidemment. En règle générale, chaque application en mémoire est divisée en mémoire que l'application elle-même utilise actuellement, la mémoire que l'application veut avoir sous la main et la mémoire que le système d'exploitation a réellement autorisée à utiliser, ce qui vous donne la quantité finale de mémoire dont l'application dispose. est autorisé à utiliser. La raison pour laquelle l’application conserve une partie distincte de cette mémoire comme mémoire qu’elle veut utiliser, c’est parce que l’application doit peut-être augmenter son volume, mais elle ne veut pas nécessairement le faire immédiatement, car c’est mauvais pour les éboueurs. ont de gros tas (gros tas = longues collectes d'ordures), de sorte que l'application réservera une partie de la mémoire qui n'est pas en cours d'utilisation, mais qui peut être utilisée exclusivement par l'application si besoin est.
Supposons que le système d’exploitation autorise mon application jusqu’à 700 Mo, et que celle-ci laisse 300 Mo de mémoire pour elle-même, laissant 400 Mo à l’application si elle le souhaite, mais une autre application s'ouvre et a besoin de mémoire; le système d'exploitation examine toutes les applications et décide s'il est correct d'extraire de la mémoire d'une autre application et de l'utiliser pour la nouvelle application. Dans ce cas, il peut décider de prendre 150 Mo de la mémoire autorisée de mes applications et de la transférer à la nouvelle application. , nécessitant que la mémoire soit permutée pour donner la mémoire de la nouvelle application à utiliser (considérez cela comme une réaffectation de fonds dans une entreprise), ainsi, plus vous avez d'applications ouvertes, plus le système d'exploitation doit travailler pour décider réellement quelle mémoire d'application il peut siphonner pour donner la nouvelle mémoire d'application.
En ce sens, chaque application ouverte et suspendue ajoute à la complexité de ce processus, le rendant plus consommateur d’ordinateur et nécessitant éventuellement plus de puissance de la batterie pour ouvrir de futures applications que la batterie économisée en ne fermant pas d’autres applications.
Maintenant, remarquez, rien de cela ne tient compte du fait que, sauf si vous tuez vraiment une application, il peut y avoir des services d'arrière-plan qui vont consommer de la puissance de traitement, par exemple des notifications configurées pour vous avertir d'une minuterie, etc. les applications n'utilisent pas un véritable service d'arrière-plan et utilisent en réalité des notifications push provenant de services tels que firebase, qui n'exigent pas que l'application soit ouverte à aucun moment.
Une autre chose à prendre en compte, plus vous ouvrez continuellement d’applications, plus la mémoire sera fragmentée au départ, jusqu’à ce que le système d’exploitation soit nettoyé et rendu plus claire et plus efficace, ce qui réduit également la puissance de traitement. plus la mémoire occupée par les applications est importante, plus ce processus sera intensif pour votre appareil.
Tout cela pour dire, laisser les applications ouvertes est généralement plus efficace, à moins que trop d'applications ne soient ouvertes. Cependant, je ne sais pas combien d'applications doivent être ouvertes pour atteindre ce seuil, si ce nombre existe déjà.
Sources:
Récupérateur de mémoire SGen pour Mono: http://www.mono-project.com/docs/advanced/garbage-collector/sgen/
Présentation du profileur de mémoire pour les applications iOS et Android Xamarin, qui montre la manière dont la mémoire est gérée par l'application (groupe de travail, octets privés, mémoire allouée, etc.) https://blog.xamarin.com/say-hello-to profileur-xamarin /
la source
Version nette: c'est mieux parce que le système d'exploitation a été conçu pour le rendre meilleur au point que l'utilisateur souhaite conserver les applications (ou dans un état "suspendu") afin de collecter plus d'informations sur vos actions plus tard [*] si besoin.
Version plus longue: les applications "suspendues" verront leur état enregistré dans la mémoire. Une fois que vous voudrez les redémarrer, le processus de chargement de tout chargera moins de temps pour le processeur et presque pas d'utilisation de l'unité de stockage ... Avec vous ne pouvez pas savoir si vos applications effectuent d’autres tâches en arrière-plan qui, dans bien des cas, collectent des données vous concernant.
[*] Pour en savoir plus sur la collecte de données sur votre pièce ... les applications stockées en mémoire peuvent être "suspendues" ou actives en arrière-plan. En tant que propriétaire de l'appareil, vous ne pouvez pas savoir (si vous ne possédez pas les connaissances et certaines autres applications pour analyser activement l'utilisation du processeur) ce que ladite application fait réellement. Du point de vue de la sécurité, je vous conseillerais de fermer toute application que vous n'allez pas utiliser pendant les 10 prochaines minutes.
Post-scriptum Cette pratique est faite sur les appareils Android aussi btw ...
la source