2010-06-28 8 views

Répondre

3

Les chiffres que vous pouvez obtenir sont

  1. Sous réserve de modifications (même si elles sont correctes maintenant, ils peuvent très bien se tromper à un moment donné) , et
  2. Inutile.

Qu'est-ce que vous faites spécifiquement avec l'un ou l'autre de ces nombres? Suivre combien de mémoire vous allouez? Et que ferez-vous quand vous manquerez? iOS vous envoie un message vous disant de libérer de la mémoire lorsque cela se produit; que ferez-vous différemment? Ne vous inquiétez pas de l'imposition de limites sur vous-même. Soyez aussi efficace que possible.

application va « de mémoire » très bientôt ...

Ensuite, vous n'êtes pas efficace avec votre mémoire. Profilez votre application à l'aide des instruments ObjectAlloc et Leaks d'Instruments, et découvrez où se situent vos inefficacités. Une fois que vous les avez corrigés, votre application ne sera plus constamment à court de mémoire. Vous devriez également lire the Memory Management Programming Guide, si ce n'est pas déjà fait. Il est possible que vous ne libérez tout simplement pas les choses que vous devez libérer. Si c'est le cas, vous verrez beaucoup de fuites avec l'instrument Leaks.

+0

grâce à la réponse de Peter. – user327661

2

Si vous avez une récursion infinie (sans queue), vous êtes déposé dans le débogueur avec environ 20k trames de pile. Je ne suis pas sûr combien d'octets cela correspond, mais c'est suffisant pour tout ce qui est raisonnable.

Il n'y a pas de maximum défini en dehors de la limite d'espace d'adresse habituelle (probablement autour de 3 Go); votre application est en train d'être détruite car le périphérique n'a plus de RAM physique et il n'y a plus d'applications en arrière-plan à tuer.

Si vous êtes tué, faites de la mémoire, vous faites quelque chose de très stupide ou vous avez une fuite de mémoire.

+0

merci pour votre réponse – user327661

Questions connexes