2010-11-12 3 views
7

Je fais une application qui utilise beaucoup de gros fichiers d'image. Je remarque qu'il se bloque quand ils sont tous chargés sur mon iPhone 3G (128 Mo de RAM), mais pas quand je l'ai testé sur un iPod de 3ème génération (256 Mo de RAM). Donc, je suppose qu'il doit y avoir un certain pourcentage qui est autorisé pour chaque application à utiliser? Mon application a environ 30 images à environ 440k chacun chargé de 13.2mb. Je ne pensais pas que ce serait trop. Ils doivent être permutés et assez rapidement, libérant ainsi les pas en cours d'utilisation de la mémoire ne semble pas une bonne idée ...Quelle quantité de mémoire iOS permet-il aux applications d'utiliser?

EDIT:

Les swaps d'applications images basées sur la façon dont la le téléphone est incliné. C'est 30 images d'une scène 3D, donc quand vous le déplacez, cela change la perspective. Il doit être aussi lisse que possible.

+2

Je crois que c'est pire que vous ne le pensez: Un UIImage, une fois chargé, va probablement prendre la taille non compressée plutôt que la taille compressée. Vous devriez probablement utiliser Instruments pour voir la quantité de mémoire que vous utilisez réellement. –

+0

A quelle vitesse est "assez rapidement"? Tout autre chose que la commutation rapide en temps réel est assez hors de propos. Dites-nous quelques détails supplémentaires sur la rapidité et la raison pour laquelle vous avez besoin de ces images en mémoire, car pour le moment, il est difficile de saisir le cas d'utilisation qui demande tellement de mémoire en même temps. –

+0

@David Liu: plz voir éditer. – Marty

Répondre

10

La réponse est: autant que vous le souhaitez, jusqu'à ce que l'OS se plaint.

Il n'y a pas de limite de mémoire absolue, car cela dépend entièrement de la mémoire du téléphone, de l'utilisation du système d'exploitation et des services associés, et du moment du mois (je plaisante, mais vous obtenez le idée). Vous devriez réduire ces grands fichiers d'image pour tenir dans la mémoire, ou plus encore, ne pas les charger tous d'un seul coup étant donné que l'écran est si petit et que seul un grand nombre peut être visualisé à un moment donné.

Questions connexes