2010-11-12 4 views
5

Il y a certaines choses que je ne comprends pas à propos de la gestion de la mémoire iOS.Mémoire utilisée par une application iPhone

  1. Je voulais savoir combien de mémoire généralement une application iPhone prend en cours d'exécution sur l'appareil (Y at-il un nombre fixe comme 10MB?)

  2. Si une application comprend beaucoup de grandes images quel est l'impact sur la mémoire? Ont-ils seulement un impact sur la mémoire lorsqu'ils sont chargés?

  3. Comment iOS gère-t-il la mémoire lorsque plusieurs applications sont en cours d'exécution?

S'il vous plaît, aidez-moi à comprendre ces concepts.

+0

Voulez-vous savoir ceci en tant que programmeur ou utilisateur? Pour la 3ème question, il n'y a toujours qu'une seule application au premier plan, mais à partir de iOS4, il peut y en avoir plusieurs en arrière-plan. Ceux en arrière-plan sont tués par l'iOS quand il a besoin de plus de mémoire libre. – Bersaelor

Répondre

4

Il n'y a pas une somme déterminée ou fixe de mémoire disponible pour les applications sur les appareils iOS. Cela dit, il existe des applications de jeu qui utilisent plus de 55 Mo de mémoire, mais le système d'exploitation semble également tuer ces jeux un certain pourcentage de temps s'il n'est pas exécuté juste après la réinitialisation d'un périphérique. Si vous utilisez 22 Mo de mémoire ou moins, le système d'exploitation pourrait quand même tuer votre application car il n'y avait pas assez de mémoire disponible, mais il devrait également tuer un pourcentage important d'autres applications dans le magasin d'applications. être en très bonne compagnie.

Lorsqu'une application (premier plan ou arrière-plan) demande suffisamment de mémoire pour commencer à épuiser suffisamment le pool de mémoire, les avertissements de mémoire sont envoyés à d'autres applications. Si le pool de mémoire est suffisamment petit, les applications sont supprimées, y compris éventuellement l'application de premier plan s'il s'agit d'un gros problème de mémoire.

3

Q1) Il n'y a pas de valeur fixe, bien sûr. Chaque application (et chaque instance d'application) utilisera une quantité de mémoire différente en fonction de ses tâches. Il y a un maximum, cependant. Atteindre ce maximum déclenchera un avertissement de mémoire et le système d'exploitation peut le tuer. Q2) Images: Dépend du nombre d'images affichées simultanément ou d'animations. Q3) L'application à l'avant-plan obtient le plus de mémoire qui lui est allouée. Les applications en arrière-plan peuvent demander de la mémoire pour effectuer des tâches d'arrière-plan.

Bon article pour les meilleures pratiques:

http://inessential.com/2010/06/28/how_i_manage_memory

+3

Ok Evan. Quelle est la valeur maximale dont vous parlez? – Abhinav

Questions connexes