Il y a encore beaucoup de gens qui ne savent pas comment fonctionne le multitâche sur iOS. Mais pour commencer, il faut souligner qu’il ne s’agit pas d’un véritable multitâche, mais d’une solution très intelligente qui n’alourdit ni le système ni l’utilisateur.
On peut souvent entendre des superstitions selon lesquelles les applications exécutées en arrière-plan sur iOS remplissent la mémoire de fonctionnement, ce qui entraîne un ralentissement du système et de la durée de vie de la batterie, de sorte que l'utilisateur doit les désactiver manuellement. La barre multitâche ne contient pas réellement une liste de tous les processus en arrière-plan en cours d'exécution, mais uniquement les applications lancées les plus récemment. Ainsi, l'utilisateur n'a pas à se soucier des processus exécutés en arrière-plan, sauf dans quelques cas. Lorsque vous appuyez sur le bouton Home, l'application se met généralement en veille ou se ferme, de sorte qu'elle ne charge plus le processeur ni la batterie et, si nécessaire, libère la mémoire nécessaire.
Il ne s’agit donc pas d’un multitâche à part entière lorsque des dizaines de processus sont en cours d’exécution : une seule application est toujours exécutée au premier plan, qui est mise en pause ou complètement désactivée si nécessaire. Seuls quelques processus secondaires s'exécutent en arrière-plan. C'est pourquoi vous rencontrerez rarement un crash d'application sur iOS, par exemple Android est submergé d'applications en cours d'exécution dont l'utilisateur doit s'occuper. D'une part, cela rend le travail avec l'appareil désagréable et, d'autre part, cela provoque, par exemple, un démarrage lent et des transitions entre les applications.
Type d'exécution de l'application
L'application sur votre appareil iOS est dans l'un de ces 5 états :
- En cours d'exécution: l'application est démarrée et s'exécute au premier plan
- Arrière-plan: il est toujours en cours d'exécution mais en arrière-plan (on peut utiliser d'autres applications)
- Suspendu: J'utilise toujours la RAM mais ne fonctionne pas
- Inactif: l'application est en cours d'exécution mais des commandes indirectes (par exemple, lorsque vous verrouillez l'appareil avec l'application en cours d'exécution)
- Ne pas courrir: L'application est terminée ou n'a pas démarré
La confusion survient lorsque l'application passe en arrière-plan pour ne pas déranger. Lorsque vous appuyez sur le bouton Accueil ou utilisez le geste pour fermer l'application (iPad), l'application passe en arrière-plan. La plupart des applications sont suspendues en quelques secondes (elles sont stockées dans la RAM de l'iDevice afin de pouvoir être lancées rapidement, elles chargent moins le processeur et économisent ainsi la batterie). Vous pourriez penser que si une application continue d'utiliser de la mémoire, vous avez de le supprimer manuellement pour le libérer. Mais vous n’êtes pas obligé de le faire, car iOS le fera pour vous. Si vous avez une application exigeante suspendue en arrière-plan, comme un jeu qui utilise une grande quantité de RAM, iOS la supprimera automatiquement de la mémoire si nécessaire et vous pourrez la redémarrer en appuyant sur l'icône de l'application.
Aucun de ces états n'est reflété dans la barre multitâche, le panneau affiche uniquement une liste des applications récemment lancées, que l'application soit arrêtée, en pause ou exécutée en arrière-plan. Vous remarquerez peut-être également que l'application en cours d'exécution n'apparaît pas dans le panneau Multitâche.
Tâches d'arrière-plan
Normalement, lorsque vous appuyez sur le bouton Accueil, l'application s'exécute en arrière-plan et si vous ne l'utilisez pas, elle se met automatiquement en pause dans les cinq secondes. Ainsi, si vous téléchargez un podcast, par exemple, le système l'évalue comme une application en cours d'exécution et retarde la fin de dix minutes. Au plus tard au bout de dix minutes, le processus est libéré de la mémoire. En bref, vous n'avez pas à craindre d'interrompre votre téléchargement en appuyant sur le bouton Accueil, si cela ne prend pas plus de 10 minutes pour le terminer.
Fonctionnement indéfini en arrière-plan
En cas d'inactivité, le système termine l'application dans un délai de cinq secondes et en cas de téléchargement, la terminaison est retardée de dix minutes. Cependant, un petit nombre d'applications nécessitent une exécution en arrière-plan. Voici quelques exemples d’applications pouvant s’exécuter indéfiniment en arrière-plan dans iOS 5 :
- Les applications qui diffusent du son et doivent être interrompues pendant un certain temps (pause de la musique lors d'un appel téléphonique, etc.),
- Applications qui suivent votre localisation (logiciel de navigation),
- Applications recevant des appels VoIP, par exemple si vous utilisez Skype, vous pouvez recevoir un appel même lorsque l'application est en arrière-plan,
- Téléchargements automatiques (par exemple Kiosque).
Toutes les applications doivent être fermées si elles n'exécutent plus une tâche (telle que des téléchargements en arrière-plan). Cependant, il existe des exceptions qui s'exécutent en permanence en arrière-plan, comme l'application Mail native. S'ils fonctionnent en arrière-plan, ils consomment de la mémoire, utilisent le processeur ou réduisent la durée de vie de la batterie.
Les applications autorisées à s'exécuter indéfiniment en arrière-plan peuvent faire tout ce qu'elles font pendant leur exécution, de la lecture de musique au téléchargement de nouveaux épisodes de podcast.
Comme je l'ai mentionné précédemment, l'utilisateur n'a jamais besoin de fermer les applications exécutées en arrière-plan. La seule exception à cette règle concerne le cas où une application exécutée en arrière-plan se bloque ou ne sort pas correctement du mode veille. L'utilisateur peut alors fermer les applications manuellement dans la barre multitâche, mais cela arrive rarement.
Donc, en général, vous n'avez pas besoin de gérer les processus en arrière-plan car le système s'en chargera lui-même. C'est pourquoi iOS est un système si récent et si rapide.
Du point de vue d'un développeur
L'application peut réagir avec un total de six états différents dans le cadre du multitâche :
1. applicationWillResignActive
En traduction, cet état signifie que l'application cessera d'être l'application active (c'est-à-dire l'application au premier plan) dans le futur (quelques millisecondes). Cela se produit, par exemple, lors de la réception d'un appel lors de l'utilisation de l'application, mais en même temps, cette méthode provoque également cet état avant que l'application ne passe en arrière-plan, vous devez donc prendre en compte ces changements. Cette méthode convient également pour que, par exemple, elle suspende toutes les activités qu'elle effectue lorsqu'il y a un appel entrant et attende la fin de l'appel.
2. applicationDidEnterBackground
Le statut indique que l'application est passée en arrière-plan. Les développeurs doivent utiliser cette méthode pour suspendre tous les processus qui n'ont pas nécessairement besoin de s'exécuter en arrière-plan et effacer la mémoire des données inutilisées et d'autres processus, tels que l'expiration des minuteries, l'effacement des images chargées de la mémoire qui ne seront pas nécessairement nécessaires ou la fermeture. connexions avec les serveurs, sauf s'il est essentiel que l'application établisse des connexions en arrière-plan. Lorsque la méthode est invoquée dans une application, elle doit essentiellement être utilisée pour suspendre complètement l'application si une partie de celle-ci n'est pas requise pour s'exécuter en arrière-plan.
3. applicationWillEnterForeground
Cet état est à l’opposé du premier état, dans lequel l’application passera à l’état actif. L'état signifie simplement que l'application en veille reprendra de l'arrière-plan et apparaîtra au premier plan dans les prochaines millisecondes. les développeurs doivent utiliser cette méthode pour reprendre tous les processus inactifs lorsque l'application était en arrière-plan. Les connexions aux serveurs doivent être rétablies, les minuteries réinitialisées, les images et les données chargées en mémoire et les autres processus nécessaires peuvent reprendre juste avant que l'utilisateur ne voie à nouveau l'application chargée.
4. applicationDidBecomeActive
L'état indique que l'application vient de devenir active après avoir été remise au premier plan. Il s'agit d'une méthode qui peut être utilisée pour apporter des ajustements supplémentaires à l'interface utilisateur ou pour restaurer l'interface utilisateur à son état d'origine, etc. Cela se produit en réalité au moment où l'utilisateur voit déjà l'application sur l'écran, il est donc nécessaire de Déterminez avec prudence ce qui se passe dans cette méthode et dans la méthode précédente. Ils sont appelés les uns après les autres avec un écart de quelques millisecondes.
5. applicationWillTerminate
Cet état se produit quelques millisecondes avant la fermeture de l'application, c'est-à-dire avant que l'application ne se termine réellement. Soit manuellement depuis le multitâche, soit lors de la mise hors tension de l'appareil. La méthode doit être utilisée pour sauvegarder les données traitées, mettre fin à toutes les activités et supprimer les données qui ne seront plus nécessaires.
6. applicationDidReceiveMemoryWarning
C’est ce dernier état qui est le plus discuté. Il se charge, le cas échéant, de supprimer l'application de la mémoire iOS si elle utilise inutilement les ressources système. Je ne sais pas spécifiquement ce que fait iOS avec les applications en arrière-plan, mais s'il a besoin d'une application pour libérer des ressources vers d'autres processus, il l'invite avec un avertissement de mémoire à libérer toutes les ressources dont il dispose. Cette méthode est donc appelée dans l'application. Les développeurs doivent l'implémenter de manière à ce que l'application abandonne la mémoire qu'elle a allouée, enregistre tout ce qui est en cours, efface les données inutiles de la mémoire et libère la mémoire de manière adéquate. Il est vrai que de nombreux développeurs, même débutants, ne pensent pas ou ne comprennent pas ces choses, et il peut alors arriver que leur application menace la durée de vie de la batterie et/ou consomme inutilement des ressources système, même en arrière-plan.
Verdikt
Ces six états et leurs méthodes associées constituent l’arrière-plan de tout « multitâche » dans iOS. c'est un excellent système, tant que les développeurs n'ignorent pas le fait qu'il est nécessaire d'être responsables de ce que l'application génère sur les appareils de leurs utilisateurs, s'ils sont minimisés ou reçoivent des avertissements du système, etc.
Source: macworld.com
Auteurs: Jakub Požárek, Martin Doubek (ArnieX)
Avez-vous également un problème à résoudre ? Besoin de conseils ou peut-être de trouver la bonne application ? N'hésitez pas à nous contacter via le formulaire dans la rubrique Conseils, la prochaine fois nous répondrons à votre question.
Bonjour, article vraiment sympa, mais je me demande si vous disposez d'un support technique pour cela. Parce que j'ai résolu la batterie plusieurs fois le soir avant de me coucher et il est arrivé qu'avec le wifi et les données mobiles désactivés, cela prenait plus que dans un autre cas avec le wifi désactivé et seulement la 3G.
Malheureusement, l'expérience montre que sous iOS, les applications doivent être désactivées manuellement et le système ne fonctionne plus aussi bien qu'avant.
J'ai remplacé mon iPhone par un Windows Phone (Samsung Omnia W pour 6200,-) et la vitesse du système est à un tout autre niveau.
J'ai peur que lorsque les tablettes Windows 8 Metro sortiront, je remplacerai également l'iPad...
@007 – oui, si vous comparez les anciens iPhone3G aux nouveaux WP, alors oui (qui s'y serait attendu ?) le WP sera un peu plus rapide. Sinon, les rumeurs sur Karlulka ne vous conviennent pas et il convenait de comparer le HW actuel. J'ai également acheté WP7 et je me suis finalement retrouvé avec 4, ce qui représente un niveau d'utilisabilité complètement différent de celui de WP7. Alors passez agréablement et faites défiler sans fin les tuiles.
Je suis tout à fait d'accord avec Paja
Je contribuerais à nouveau à partir des débris d'un autre baril - Samsung Galaxy S et iPhone 4 - je dirais comparable en termes d'âge ? À l'époque d'iOS 4, et en termes de convivialité et de vitesse ailleurs qu'Android, Apple a très bien résolu le concept de travail avec des applications, mais il n'en va plus de même avec Android. Au final, je me suis quand même retrouvé avec le 4S et je n'ai rien à redire, car "ça marche tout simplement" .. et ça marche très vite !
La théorie est belle... Mais en pratique, je ferme quand même l'application dans la barre ;)
Merci, très intéressant, pragmatique, intéressant, ça ne manque pas de swing et de profondeur. Soulignant considérablement l'obsession de la jeunesse d'aujourd'hui pour cette marque interdite ! Mais merci pour elle, ainsi que pour cet article.
L'article est complètement faux.
L'application ne se ferme pas lorsque vous appuyez sur le bouton Accueil, comme indiqué par erreur, mais se met en pause. C'est à dire. ne supprimez certainement pas de la mémoire et n'arrêtez pas. Mettez simplement l'exécution en pause, iOS donnera à cette application 0 % de temps CPU. Il ne "s'échange" certainement nulle part dans la mémoire de l'iDevice, comme indiqué dans l'article. C’est vraiment grâce au fait qu’il est possible d’utiliser le changement d’application.
L'application est supprimée de la mémoire lorsque le téléphone dispose de peu de mémoire pour exécuter d'autres applications avec une priorité plus élevée (généralement, une autre application s'exécute au premier plan).
Dans le premier cas, vous avez raison, il s’agissait d’une erreur de traduction. Quant à l'échange, nous n'en parlons pas ici, nous parlons de la mémoire de fonctionnement, pas de l'espace de stockage dans l'appareil iOS.
l'image de l'application est stockée en mémoire pendant une durée limitée jusqu'à ce qu'elle soit à nouveau appelée par une commande (voir 13,7 Go sur 16 Go : les 2,3 Go sont réservés au système et aux applications suspendues)
Ainsi, il est nécessaire de faire la distinction entre les applications telles que Navigation, Skype, etc., ces applications restent actives même en arrière-plan, ou une certaine fonction ne se termine pas et continue, par exemple, à envoyer des données sur sa localisation ou des informations de localisation. Ou comme Vokul en mode pord, écoutez et le multitâche écoute toujours en arrière-plan.
Ces applications déchargent la batterie et il faut les fermer manuellement et ne pas attendre iOS. avec d'autres, ce n'est pas nécessaire, uniquement en cas de panne de l'application.
Je ne peux pas être d'accord avec l'article. Min. sur un iPad de 1ère génération (iOS 5.0.1), il est clair de voir si j'ai beaucoup d'applications "ouvertes" dans la barre multitâche ou juste quelques-unes. iOS essaie de nettoyer la mémoire, mais ce n'est évidemment pas suffisant : la petite taille de la RAM est probablement sa plus grande faiblesse.
donc beaucoup dépend du système et du matériel utilisé, il est assez logique que ce soit pire sur un iPad 1 avec iOS 5.0.1 que si c'était sur un iPad de 2ème génération
Désolé mon pote, ceci est une description de la façon IDÉALE dont cela devrait fonctionner. Malheureusement, la réalité est complètement différente et vous le sauriez si vous utilisiez des produits Apple, au moins autant que moi (c'est-à-dire occasionnellement).
"On entend souvent des superstitions selon lesquelles les applications exécutées en arrière-plan sur iOS remplissent la mémoire opérationnelle",
Ce n'est pas une superstition, c'est juste un fait. Après tout, vous le revendiquez vous-même dans l’article.
"Comme je l'ai déjà mentionné, l'utilisateur n'a jamais besoin de fermer les applications exécutées en arrière-plan."
ABSURDITÉ. C'est juste des conneries, de la propagande pomme, ne vous fâchez pas contre moi.
« Mais vous n'êtes pas obligé de le faire, car iOS le fera pour vous. Si vous avez une application exigeante suspendue en arrière-plan, comme un jeu qui utilise une grande quantité de RAM, iOS la supprimera automatiquement de la mémoire si nécessaire et vous pourrez la redémarrer en appuyant sur l'icône de l'application.
Pas vrai. La situation est un peu différente. Un exemple typique : j’ai des applications exigeantes qui s’exécutent en arrière-plan, j’ai besoin de jeux. Je lance le navigateur, ouvre quelques onglets -> j'ai besoin de plus de mémoire. Que va-t-il se passer ? Je garde les applications exigeantes en arrière-plan, au contraire, LE NAVIGATEUR ELLE-MÊME TOMBE. Si je ferme manuellement les applications exigeantes, le navigateur fonctionne longtemps sans aucun problème.
C'est de la pratique, pas de la théorie. Et je suis surpris qu'en tant qu'utilisateur de longue date d'un produit Apple, vous ne le sachiez toujours pas.
Merci, c'est très bien décrit et bien expliqué. Vous m'avez beaucoup aidé ;-) ♥
Juste pour introduction, je ne suis ni pour ni contre iOS, tout comme avec Android, mais il y a quelques choses étranges ici, si comme il est écrit ici : "on rencontre rarement un crash d'application avec iOS", alors avec Android, les applications crashent probablement une fois par an : -P
http://dotekomanie.blog.mobilmania.cz/2012/02/stabilita-ios-vs-android/
Oui, mais les cas où vous devez fermer l'application manuellement sont vraiment minimes, je l'ai utilisé environ une fois ? ;-) et donner un lien vers le test comparatif de Mobilemania est bien inutile, quand je veux en savoir plus sur la publicité payée par Google, je vais y jeter un oeil ;-) tout le monde peut avoir n'importe quel téléphone android entre ses mains et il ne fonctionnera pas proprement, à l'exception du Galaxy Nexus, dont le système est plus ou moins fait sur mesure. Dans l’ensemble, Android est un désastre
@Mek – J'utilise quotidiennement des produits Apple depuis plusieurs années et cela ne m'est jamais arrivé, donc votre théorie ne fonctionne pas.
OT :
@redakce – Vous pouvez voir que le site Web est constamment en train d'être travaillé ou qu'il se passe quelque chose, mais j'ai le sentiment qu'il ne faut pas une semaine pour que tout fonctionne comme il se doit. Et je ne viens plus vraiment ici, car le nouveau look ne me convient pas. Au moins, j'ai utilisé la version mobile sur l'iPhone, mais maintenant cela ne fonctionne plus du tout - comment se fait-il ? Ils ne répondent actuellement pas aux messages dans les commentaires.
@SteveJSF Malheureusement, les choses ne se passent pas toujours comme nous le souhaitons. Quant aux réponses, le nouveau plugin SEO les a cassées, c'est en cours de résolution.
WP-Touch a également mis fin à notre service pour une raison quelconque, nous avons donc décidé de proposer une meilleure solution que ce plugin. Vous pouvez donc attendre avec impatience les prochaines nouvelles bientôt :-)
Bel article. En ce qui concerne la pratique, je voudrais dire que je suis d'accord sur plusieurs choses et que la plupart du temps cela fonctionne comme indiqué, mais malheureusement il y a encore des applications mal écrites qui ne se comportent pas correctement, et puis il y a des cas comme celui-ci noté par certains lecteurs. Je pense que Skype est un très bon exemple, je sais par la pratique qu'il fonctionne toujours en arrière-plan (et c'est bien et c'est comme ça que ça devrait être), mais le problème est que cette application draine beaucoup la batterie de l'appareil et Je ne le vois plus correctement. A l’inverse, des applications comme Facebook, Badoo, etc. ils fonctionnent également toujours en arrière-plan, mais leur consommation est presque imperceptible (du moins je n'en remarque pas). Je pense donc que l'erreur réside dans les candidatures individuelles. Si vous saviez lesquels, il suffirait de désactiver manuellement uniquement ceux-là !
La pratique est donc que Facebook s'exécute selon les besoins et Skype uniquement lorsque cela est nécessaire.
Bon, d'un autre côté, si j'ai besoin d'économiser la batterie et que je sais que je dois garder l'iPhone "en vie" le plus longtemps possible, je désactive aussi tout ce qui est inutile en multitâche, mais surtout cela n'a pas un grand impact, mais si nécessaire je limite la 3G, tout l'internet mobile, le WiFi, les services de localisation, le mode avion, la puissance de l'éclairage, etc. Dans le cadre de la routine, je désactive également les applications précitées en multitâche.
Donc personnellement je pense que l'article est vrai, malheureusement certains programmeurs réfutent ces choses avec leurs applications, car leurs applications sont incorrectes et à mon avis il n'y a que deux solutions pour cela 1. S'il est possible de ne pas utiliser l'application et de trouver une alternative si possible, ou 2. Si ce n'est pas possible, consultez par exemple Skype, écrivez-le au programmeur indiqué dans le rapport et espérez qu'il fera quelque chose à ce sujet.
Il est peut-être inutile de désactiver les applications manuellement, mais je le fais quand même. J'ai aussi essayé de ne pas éteindre le système d'applications, de les laisser fonctionner (ou de les laisser dormir en arrière-plan) et la durée de vie de la batterie était bien inférieure, il a également fallu redémarrer l'iPad 2 après environ trois semaines, il a répondu lentement. J'éteins donc les applications manuellement, la batterie dure plus longtemps, j'ai récemment redémarré le jour de Noël et tout fonctionne bien.
D'ailleurs, je fais la même chose sous Mac OS X, je ferme juste l'application dont je n'ai pas besoin (CMD+Q), c'est mieux que de la laisser dormir en arrière-plan et consommer de la RAM inutilement (ce que OS X peut faire) ça ne marche pas très bien). J'ai peu de RAM, seulement 8 Go, mais sous Windows 7 avec 8 Go, le système n'a pas répondu lentement ni échangé, sous OS X c'est un phénomène assez courant (je n'ai jamais éteint l'ordinateur, je le fais aussi avec Mac, donc un mois et plus de disponibilité ne fait pas exception, le problème est que je dois parfois redémarrer le Mac par précaution pour libérer de la RAM et "accélérer", Windows 7 n'en a pas besoin).
Je suis plus intéressé par la façon de faire exploser l'application. Ce qui m'est arrivé, c'est que l'application (en particulier sur Geocaching) est entrée dans un état où elle chargeait quelque chose depuis le serveur parent et est restée bloquée dans cet état. Le bouton Accueil a fonctionné, après le redémarrage, il est revenu à l'état gelé (là où je m'étais arrêté). Sortie manuelle (vers le menu multitâche, maintenir l'icône et moins pour fermer) = l'application a disparu, après redémarrage elle s'est ouverte dans son état d'origine où elle s'est figée. J'ai donc tout fermé, j'ai éteint le téléphone, je l'ai allumé, j'ai double-cliqué sur HOME et voilà, les applications étaient toutes là telles qu'elles étaient avant d'être fermées juste avant de s'éteindre. Le redémarrage n'a pas aidé non plus - restez à la maison et en haut jusqu'à ce qu'il fasse chaud. La seule chose qui a aidé a été de supprimer l'application du téléphone, de la redémarrer et de la réinstaller sur le téléphone. D'une manière ou d'une autre, je ne l'ai pas pris.
Cette gestion Multitâche fonctionne et c'est aux développeurs de faire face à ces situations. Pour ceux qui souhaitent une description plus détaillée et professionnelle de l’ensemble de la situation, j’écrirai ici comment elle se présente.
L'application peut répondre à un total de 6 états et ces états sont :
applicationWillResignActive
applicationDidEnterBackground
applicationWillEnterForeground
applicationDidBecomeActive
applicationWillTerminate
applicationDidReceiveMemoryWarning
Je vais maintenant essayer de décrire ces états plus en détail.
applicationWillResignActive – cet état signifie qu'à l'avenir (quelques millisecondes) l'application démissionnera en tant qu'application active (c'est-à-dire l'application de premier plan). Cela se produit par exemple lors de la réception d'un appel lors de l'utilisation de l'application, mais en même temps cela Par conséquent, cet état se déclenchera avant même que l'application ne passe en arrière-plan, vous devez donc prendre en compte ces changements. Cette méthode convient également pour que, par exemple, elle suspende toutes les activités qu'elle effectue lorsqu'il y a un appel entrant et attende la fin de l'appel.
applicationDidEnterBackground - cet état indique que l'application est entrée en arrière-plan, les développeurs doivent utiliser cette méthode pour suspendre tous les processus qui n'ont pas nécessairement besoin de s'exécuter en arrière-plan et nettoyer la mémoire des données inutilisées et d'autres processus, par exemple, expirer les minuteries, effacer de des images chargées en mémoire qui ne seront pas nécessairement nécessaires ou mettre fin à la connexion avec les serveurs s'il n'est pas critique pour l'application de terminer la connexion en arrière-plan. Fondamentalement, cette méthode, lorsqu'elle est appelée dans l'application, doit être utilisée pour suspendre complètement l'application si une partie de celle-ci n'est pas requise pour s'exécuter en arrière-plan.
applicationWillEnterForeground – cet état est l’opposé du premier état dans lequel l’application passera à l’état actif. Cet état de l'application signifie simplement que dans les prochaines millisecondes, l'application en veille reprendra de l'arrière-plan et apparaîtra au premier plan (l'application passe au premier plan), cette méthode doit être utilisée par les développeurs pour reprendre tous les processus qui étaient inactifs pendant que l'application était en arrière-plan, les connexions aux serveurs doivent être rétablies, les minuteries réinitialisées, les images et les données chargées en mémoire et les autres processus nécessaires peuvent reprendre juste avant que l'utilisateur ne voie à nouveau l'application chargée.
applicationDidBecomeActive – cet état indique que l'application vient de devenir active après avoir été restaurée au premier plan, il s'agit d'une méthode qui peut être utilisée pour apporter des ajustements supplémentaires à l'interface utilisateur ou restaurer l'interface utilisateur à son état d'origine, etc. cette méthode se produit réellement lorsque l'utilisateur peut déjà voir sur l'écran, il est donc nécessaire de déterminer à partir du bilan ce qui se passe dans cette méthode et dans la méthode précédente. Ils sont appelés les uns après les autres avec un écart de quelques millisecondes.
applicationWillTerminate : cet état se produit quelques millisecondes avant la fin de l'application, c'est-à-dire avant que l'application ne se termine réellement. Soit manuellement depuis le multitâche, soit lors de la mise hors tension de l'appareil. Cette méthode doit être utilisée pour sauvegarder les données traitées, mettre fin à toutes les activités et supprimer les données qui ne seront plus nécessaires.
applicationDidReceiveMemoryWarning - et c'est une condition qui est beaucoup discutée ici, si nécessaire, iOS supprimera l'application de la mémoire si elle utilise inutilement les ressources système. Je ne sais pas exactement ce que fait iOS avec les applications en arrière-plan, mais s'il a besoin d'une application pour libérer des ressources vers d'autres processus, il lui demande avec un avertissement de mémoire de libérer les ressources qu'elle détient. Cette méthode est donc appelée dans l'application, et les développeurs doivent l'implémenter de manière à ce que l'application abandonne la mémoire dont elle dispose, enregistre les données traitées et supprime les données inutiles de la mémoire, et libère autrement la mémoire de manière adéquate. Il est vrai que de nombreux développeurs, par exemple les débutants, ne pensent pas à ces choses ou ne les comprennent pas, et il peut alors arriver que leur application mette en danger la durée de vie de la batterie et/ou consomme inutilement des ressources système, même en arrière-plan. Je ne sais pas comment iOS se comportera si l'application ne fait rien après avoir reçu un avertissement de mémoire et continue de consommer les ressources système comme avant.
Ces quelques états et méthodes associées sont à l'origine de tout le "multitâche" dans iOS... c'est un excellent système si les développeurs n'ignorent pas la nécessité d'être responsables de ce que les applications lanceront sur les appareils de leurs utilisateurs si elles sont minimisées. ou recevez des avertissements du système et plus encore…
J'espère que cette brève description vous aidera à comprendre comment l'application participe au bon fonctionnement de tout. Il est donc presque possible de dire qu'il s'agit d'une erreur d'utilisation incorrecte de la part de l'utilisateur, ce qui peut être compris comme suit : si vous utilisez principalement des applications gratuites de développeurs amateurs en grand nombre, votre appareil iOS fonctionnera moins bien que si vous utilisez un grand nombre d'applications gratuites. nombre d'applications gratuites et payantes de développeurs expérimentés ou professionnels. Cela ne veut pas dire qu’il n’y a pas d’exception dans les deux cercles. Par exemple, Foursquare se comporte de manière assez étrange et exigeante, et en même temps, on pourrait s'attendre à ce qu'il s'agisse de développeurs très compétents qui consacrent beaucoup de temps à la gestion de la mémoire et de la batterie, mais c'est le contraire. Le plus gros problème avec 4SQ est la communication avec les serveurs, qui se bloque souvent et est débordée. Ceci n'est qu'un exemple du fait que même les applications bien connues ont des problèmes, ce qui ne change rien au fait que 4SQ est un excellent service.
Amusez-vous bien les pommes !! :)
Nous avons ajouté l'information à l'article avec l'aimable autorisation de l'auteur ;-)
Je suis désolé, ENTER était partout entre les paragraphes, ils pourraient faire quelque chose ici pour que les commentaires aient au moins un peu de FORMATION DE TEXTE RICHE.
ArnieX : merci pour le commentaire !!
Ce Faramir : Je viens de parler de ton problème, je ne sais pas si cela va t'aider dans ton cas, mais je sais de ma propre expérience que si tu fermes l'application (en multitâche) cela prend quelques secondes jusqu'à ce qu'elle se ferme, donc si vous l'éteignez, je vous recommande d'attendre quelques secondes (j'attends environ 10 secondes pour être sûr) jusqu'à ce qu'il soit définitivement terminé et ensuite seulement je le redémarre.
De rien ;) Je serai heureux de vous aider si j'ai l'opportunité de contribuer.
Comment est-ce censé se passer avec Meeb, lorsque je me connecte à ICQ ou au chat FB via celui-ci, il se déconnecte automatiquement après 10 minutes et je me déconnecte ou est-ce qu'il continue de fonctionner ? merci pour les précisions :P
Au bout d'une dizaine de minutes, la connexion de l'application à Internet est tout simplement interrompue. Cependant, vous serez toujours en ligne sur le serveur Meeba et vous recevrez une notification push si quelqu'un vous écrit. Après avoir rouvert l'application, la connexion sera établie dans un instant et vous pourrez continuer à discuter joyeusement.
Donc, si j'ai bien compris l'article que vous avez lié, les statistiques ne font référence qu'aux plantages d'applications au démarrage, ce qui représente un pourcentage assez faible de cas où un plantage peut survenir. Il est donc impossible de conclure de cette « recherche » qu’iOS est à mon avis moins stable. De plus, le traducteur de l'article tiré de Forbes a oublié de mentionner que la société qui fournit des données sur les plantages d'applications est soutenue, entre autres, par Google ("Crittercism, qui est soutenu par Google Ventures,...").