Question

Mon application crée des fichiers temporaires que j'ai besoin au cours de son cycle de vie. Je dois disposer de ces fichiers par la suite, ils ne prennent pas de place sur l'appareil. Je pensais que je pouvais les supprimer quand les départs volontaires d'application, mais étant donné que le multi-tâches a été mis en place le cycle de vie ne sont pas aussi simple qu'il était. Ma question principale est: Quand ma demande se déplace en arrière-plan et est tué plus tard, il reçoit ne applicationWillTerminate:? Ou est-ce juste effacé de la mémoire?

Je ne peux pas faire le nettoyage lorsque l'application passe en arrière-plan, car il pourrait être au milieu tache de fond d'une opération et il faudrait les fichiers temporaires une fois qu'il est de retour au premier plan. Je pense que je pourrais nettoyer les fichiers au démarrage, mais je suis intéressé par le comportement de applicationWillTerminate: de toute façon.

Était-ce utile?

La solution

Non, applicationWillTerminate: n'est pas appelé multi-tâches périphériques compatibles iOS 4. Lorsque votre application est terminée, il signifie généralement que le dispositif est en cours d'exécution de mémoire, même si est ne se dit il n'y a pas de dire que vous auriez assez de mémoire disponible pour compléter la tâche de toute façon.

Apple recommande que vous nettoyer lorsque votre application va dans l'arrière-plan. Vous pouvez demander un délai supplémentaire pour le faire si vous avez besoin de quelques secondes (ce qui est l'un des rares scénarios multi-tâches ouvert à toutes les applications).

Vos autres options serait de ranger lorsque la tâche est terminée (quand cela est) ou lorsque l'application est lancée. Je suppose qu'il peut y avoir d'autres permutations ...

Autres conseils

Internet dit que applicationWillTerminate: n'est pas appelé alors que l'application est tué en arrière-plan. L'autre façon est de sauver quelques informations (en NSUserDefaults, ou si), les fichiers temporaires que vous avez ouvert, et après vérification de démarrage si ces fichiers sont laissés, et les supprimer. En outre, vous pouvez savoir, comment iOS tue votre application (je suppose que cela se fait en envoyant des signaux, mais je ne suis pas sûr) et ajouter un gestionnaire de signaux à votre application.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top