2010-12-08 53 views
0

Notre graphiste m'a juste donné les images tranchées pour une application que nous construisons, mais il m'a seulement donné la résolution pour le 960x640 iPhone 4 res.Résolutions de l'iPhone 3g et de l'iPhone 4 Meilleures pratiques

Et conseillé que je peux juste mettre à l'échelle les images pour 3g à l'exécution, de sorte que la résolution/taille de l'image reste la même, mais il est juste affiché à la moitié de la taille.

La question: Est-ce permis lors de la présentation au magasin d'applications, ou est-il une obligation d'avoir par exemple:

[email protected] (460x640) - iPhone 4

image1.png (230x320) - iPhone 3g

Pour toutes les images.

Je pourrais simplement faire la conversion par lot et avoir deux résolutions pour toutes les images, pour économiser un maximum d'espace.

+1

Faites-lui aussi des images en demi-taille. Le faire au moment de l'exécution n'est pas efficace, les images ne sont pas toujours parfaitement à l'échelle et devraient nécessiter sa signature. –

+0

Oh si vrai! bon point, je viens de réaliser que certaines images ne seraient pas divisibles par 2. Je l'ai maintenant au travail. Cheers –

Répondre

2

Cela est autorisé, mais évidemment, les images occuperont quatre fois plus de RAM sur les périphériques plus anciens que dans le cas contraire, avec quatre fois plus de pixels. Alors que l'iPhone 4 a 512 Mo de RAM, la 3G et l'original ont seulement 128 Mo. Bien que vous ayez correctement traité les avertissements de mémoire et que tout reste en place, les problèmes de performances sont principalement liés aux performances lorsque les données sont purgées et rechargées ultérieurement à partir du disque (ce qui, j'en suis sûr, est géré automatiquement contrôleurs dans les NIB). Basé sur des observations empiriques, la mémoire flash sur les appareils pré-3GS est beaucoup plus lente que les plus récents, donc même si vous vous en tenez aux grandes images, il serait logique de tenter de minimiser la taille sur le disque.

+0

Merci mon pote, ça clarifie les choses pour moi. –

0

La meilleure pratique qui a fonctionné pour moi est de faire mon image de la rétine, puis réduire de 50%.

Pour que l'affichage de la rétine utilise l'image plus grande, le @ 2x DOIT être séparé de l'image la plus grande. Votre exemple est la façon dont il devrait être utilisé.

0

Je ferais l'échelle de lot à l'avance à coup sûr. Si pour aucune autre raison l'iPhone choisit d'afficher ou non IMAGE1.PNG ou [email protected] en fonction de la résolution de l'écran. Dans votre code, vous faites toujours référence à IMAGE1.PNG. Vous n'avez pas besoin de modifier le code. Si vous les mettez à l'échelle lors de l'exécution, vous devrez remplacer tous vos appels à n'importe quel type de chose UIImage.

IMHO, Il est probable que vous en manquiez un ou Apple va probablement sortir une configuration différente du téléphone qui vous obligera à retravailler tout votre code qui vérifie la résolution de l'écran.