Quelqu'un peut-il me lier à une page qui décrit des allocations de mémoire pour les applications iPhone. P>
J'ai entendu dire que vous êtes limité à un bac à sable de 20 mégots, en fonction de l'état du téléphone, mais je ne trouve pas la source pour cela. P>
4 Réponses :
Cela dépend de l'état actuel du périphérique. Certaines applications d'iPhone natif peuvent être exécutées dans des ressources en arrière-plan et de déchets (courrier, safari, SMS, téléphone ...) Donc, il est difficile de dire combien de mémoire vous obtiendrez ... Idéalement, votre demande devrait rester dans une limite de 10-12 Mo Pour surmonter avec succès les problèmes de mémoire. P>
Je crois que c'est p>
Je suis assez certain que j'ai vu cela dans L'iPhone Cookbook de développeur: Applications de construction avec l'iPhone SDK par Erica SADUN (Livre étonnant, BTW). P>
Aussi: Dupliquer -> Mémoire d'exécution maximale disponible dans iPhone et iPod ? . P>
Je ne voulais pas dire que ceux-ci étaient des faits scientifiques. Comme une affiche ci-dessous a écrit "J'ai trouvé cela avec un iPhone 3G, lorsque la mémoire totale que votre application utilise passe plus de 10-14 Mo, il est vulnérable à l'écrasement. Quand il frappe 20 Mo, il va s'écraser avec certitude." Celles-ci sont des chiffres difficiles lorsque vous y réfléchissez.
Cela dépend de l'appareil que vous utilisez. J'ai trouvé cela avec un iPhone 3G, lorsque la mémoire totale que votre application utilise dépasse 10-14 Mo, il est vulnérable à l'écrasement. Quand il frappe 20 Mo, il s'écrasera à coup sûr. p>
Autant que je sache, Apple ne donne aucun chiffre dur pour la mémoire que vous pouvez utiliser. Cela change toujours, il est donc difficile de réduire. Ils vous recommandent de compter sur des avertissements de mémoire et de les répondre de manière appropriée. p>
iPhone 3GS a une quantité beaucoup plus élevée de mémoire disponible pour les applications (j'ai entendu dire que c'est environ 4 fois). Bien que l'iPhone 3GS ait seulement doubler la mémoire de l'iPhone 3G, beaucoup de cette mémoire est reprise par le système d'exploitation. Il est très peu laissé pour les applications à courir. C'est pourquoi les 3GS permettront aux applications d'utiliser beaucoup plus de mémoire. P>
En outre, il peut y avoir beaucoup de mémoire déjà utilisé par le système d'exploitation. Un exemple est lorsque Safari garde beaucoup d'onglets ouverts. C'est pourquoi de nombreux jeux vous recommandent de redémarrer l'appareil s'il tombe beaucoup. P>
Lorsque vous programmez, gardez un œil sur l'augmentation de la mémoire (en raison de ne pas compenser correctement les objets) et la mémoire de pointe. Ce problème concerne davantage les tests du monde réel (sur autant de dispositifs que possible) et de bonnes pratiques de programmation. P>
Voici un article sur la manière de traiter les problèmes de mémoire: P>
http://akosma.com/2009/01 / 28/10-iPhone-Memory-Management-TIPS / P>
La chose safari n'est que de l'ouï-dire, je ne l'ai jamais testé moi-même. Avez-vous trouvé que ce n'est pas vrai?
@Nevanking mais en cas d'arc (comptage automatique de référence) Devrions-nous nous inquiéter des moyens d'utilisation de la mémoire sur les objets de négociation?
Cet outil trouve quelle est la capacité de mémoire maximale de tout périphérique iOS. Il peut également trouver également à quel niveau de mémoire que vous avez reçu l'avertissement de mémoire faible. P>
Voici le lien: https://github.com/split82/iosmemorybudgetest p>
D'après ce que j'ai lu, vous commencez à obtenir des avertissements de mémoire après 3MB B>. Mais je ne trouve aucune référence à Apple non plus.
Cela n'a pas été mon expérience. Nous n'avons pas vraiment d'avertissements de mémoire jusqu'à ce que nous atteignions les adolescents. Notre application est passée de 1,8 à 5 mégots, et elle pointe lorsque nous prenons des photos.