iOS «réinitialise» toujours mes applications après un certain temps lorsqu'elles sont réduites. Comment puis-je changer cela?

9

Exemple: je joue à un jeu et m'arrête une minute pour envoyer un message sur WhatsApp. Verrouillez le téléphone pendant quelques minutes, et lorsque je navigue dans des applications "figées" et sélectionne le jeu (le jeu a toujours le dernier écran qu'il avait quand il a été minimisé), il s'ouvre à partir de l'écran de démarrage, réinitialisé!

Et cela ne se produit pas uniquement avec les jeux. Même Facebook, Twitter et d'autres applications.

Marcelo Assis
la source

Réponses:

18

Vous ne pouvez pas changer cela, seul le développeur de l'application peut (en ajoutant du code pour gérer le déchargement de l'application et en préservant l'état). Malheureusement, la plupart des jeux ne le font pas.

nohillside
la source
Les services basés sur le Web sont bien meilleurs que les applications lorsqu'il s'agit de se souvenir de la page de l'utilisateur, car généralement ils sont stockés automatiquement dans l'URL, donc le développeur n'a pas besoin d'implémenter quoi que ce soit. Alors que la plupart des développeurs d'applications ne se soucient jamais de se souvenir de l'état de navigation de l'utilisateur.
Mikael Finstad
15

Il s'agit en fait d'une idée fausse courante dans iOS.

Les applications ne sont pas "minimisées": elles sont suspendues en arrière-plan (sauf dans certains cas, notamment les applications de navigation et de musique). En outre, les applications suspendues taxant les ressources (telles que les jeux) sont souvent fermées entièrement peu de temps après leur suspension afin que iOS puisse récupérer les quantités de mémoire abondantes que ces applications réservent souvent.

La réponse à ce problème, comme l'a mentionné @nohillside, est que le développeur doit implémenter des fonctionnalités pour enregistrer l'état du jeu lorsqu'il est suspendu, puis restaurer l'état suspendu lorsque l'application se réveille à nouveau.

Cela peut être délicat pour de nombreuses applications, mais surtout pour les jeux. Tant de jeux ne le font tout simplement pas.

En tant qu'utilisateur, vous ne pouvez rien faire pour modifier cette fonctionnalité, car ces contraintes sont appliquées au jeu par le système d'exploitation iOS du téléphone, qui est à son tour contraint par le matériel du téléphone.

malexdev
la source
1

D'après mon expérience, il y a eu deux occasions où les applications ne continuent pas de fonctionner (ou, en d'autres termes, affiche un écran de démarrage lorsque je le relance).

La première est que le développeur a mal, ou même n'a pas mis en œuvre la suspension de l'application. Il y avait certaines applications qui se fermaient toujours lorsque j'appuyais sur le bouton d'accueil, ou se réinitialisaient lorsqu'elles étaient sur une fonctionnalité spécifique. (Bien que dans la boutique d'applications récente, je n'en ai pas vu, sauf pour certaines applications d'établissements publics qui ont une évaluation moyenne de 1 à 2)

La seconde est la limitation matérielle - même si le développeur a correctement implémenté la fonction de suspension, iOS décide parfois de la quitter, pour diverses raisons en raison du manque de mémoire (c'est en fait la principale raison pour laquelle les anciens idévices ne prenaient pas en charge la suspension des applications à l'ère 3G / S ), gestion du temps de la batterie.

Pour la première raison, vous pouvez écrire un avis sur Appstore - c'est l'une des raisons les plus impactantes pour le progrès du développement d'applications.

Pour la deuxième raison, eh bien, c'est une solution un peu stupide, mais vous pouvez acheter un nouveau matériel avec plus de RAM, et cela réduira la possibilité que les applications suspendues soient interrompues depuis iOS (et réduisent le temps de relance des applications). Ou, si vous n'êtes pas disposé à le faire, vous pouvez dire à iOS d'arrêter certaines applications sans importance en faisant glisser l'aperçu de l'application vers le haut dans la vue multitâche, ce qui réduit probablement le risque que les applications que vous utilisez soient tuées par iOS.

ik1ne
la source
Je ne sais pas pourquoi cette réponse a obtenu un -1 car elle suggère une solution réelle au problème et la décrit également.
redbeam_
Je ne sais pas comment ajouter des références supplémentaires car la plupart du raisonnement de la réponse repose sur mon expérience personnelle. La partie 3GS provient de mon iPod Touch 2G 8 Go iOS 3.x jailbreaké, où j'ai essayé de lancer une application en arrière-plan en jailbreakant qu'elle ne pouvait gérer que 2 à 3 applications en arrière-plan en raison de la petite RAM (je ne me souviens pas du nombre exact, mais il y en avait moins que 100 Mo de RAM disponible pour l'application). La partie de la revue Appstore vient de mon expérience de travail dans une entreprise en démarrage (et de nombreuses réponses de développeurs d'une application populaire où elle s'excuse auprès de la critique négative). La deuxième solution provient de presque toutes les communautés de conseils Apple.
ik1ne