2009-10-21 6 views
0

Je développe une nouvelle application pour l'iphone.Allocation de mémoire dans l'application iphone

Je veux comprendre quelque chose - est-ce que la mémoire que mon application utilise partagé avec d'autres applications?

Que se passe-t-il si une application provoque des fuites de mémoire, affecte-t-elle les performances du périphérique une fois que l'utilisateur a fermé l'application?

merci.

Répondre

2

Pour le moment, sur iPhone, vous ne partagerez la mémoire qu'avec certaines applications - MobilePhone, MobileMail, MobileMessaging, Safari, iPod et quelques démons mineurs.

Si vous êtes l'application active et que vous avez besoin de plus de mémoire que gratuite, alors certaines de ces applications (mais pas les plus critiques, comme MobilePhone) seront terminées pour que vous puissiez continuer. Si vous continuez à utiliser la mémoire, vous serez résilié avant les applications critiques.

La quantité de mémoire que vous pouvez utiliser dépend du périphérique sur lequel vous êtes et de ce qui se passe sur le périphérique. Le conseil commun est que tant que vous restez moins de 30Mb, tout ira bien.

Une fois qu'une application est terminée, le fait qu'elle ait fui la mémoire (ou non) n'est plus un problème - le système nettoiera et libérera tout l'espace d'adressage. Les applications disent parfois que vous devez redémarrer votre iPhone avant d'exécuter l'application, en effaçant la RAM que les démons critiques utilisent pour la mise en cache ou quoi que ce soit en utilisation normale.

Si vous jamais vous trouvez que vous faites cela, arrêtez. Si vous expédiez une application avec cette exigence, vous échouez en tant que programmeur et vous devriez être banni de la programmation. Pourquoi? Regardez la quantité de RAM d'une Playstation 2, puis regardez des jeux comme Gran Turismo et Grand Theft Auto.

Questions connexes