Dois-je utiliser UIImage ou CGImage? Png ou Jpg? J'ai lu le document et essayé différentes choses, mais je n'ai pas remarqué d'amélioration significative. Chargement d'une image peut prendre une bonne seconde, ce qui semble lentQuel est le moyen le plus rapide pour charger une grande image sur iPhone?
Répondre
UIImage
est juste une enveloppe ObjC de CGImage
, ils sont donc les mêmes.
à partir du SDK doc:
Vous devriez éviter de créer des objets UIImage qui sont supérieures à 1024 x 1024 taille. Outre la grande quantité de mémoire qu'une telle image consommerait, vous risquez de rencontrer des problèmes lors de l'utilisation de l'image comme texture dans OpenGL ES ou lors du dessin de l'image sur une vue ou un calque. Cette restriction de taille ne s'applique pas si vous effectuez des manipulations basées sur le code, telles que le redimensionnement d'une image de taille supérieure à 1 024 x 1 024 pixels en l'attachant à un contexte graphique protégé par bitmap. En fait, vous devrez peut-être redimensionner une image de cette manière (ou la diviser en plusieurs petites images) afin de la dessiner sur l'une de vos vues.
Si vous avez une énorme image, vous pouvez essayer d'utiliser un UIWebView
pour réduire la consommation de mémoire.
Le temps de charger une image comporte 2 parties: le temps de décompresser l'image (pertinentes pour choisir JPG ou PNG) et le temps pour rendre l'image.
pour décomprimer, je vous suggère un profil de la simple déclaration
[UIImage imageWithContentsOfFile:@"/path/to/your/image.jpg"];
Il est plus rapide pour l'iPhone pour charger PNGs que JPGs parce PNGs sont optimisés quand il est fourni dans votre application (bien que, non chargée à distance).
Une exception de l'iPhone d'Addison Wesley livre de recettes:..
« Xcode optimise automatiquement vos images PNG à l'aide de l'utilitaire pngcrush fourni avec le SDK (Vous trouverez le programme dans les dossiers de plate-forme iphoneos dans/Developer Run à partir de la ligne de commande avec le -iphoneswitch pour convertir les fichiers PNG standard en ceux au format iPhone.) Pour cette raison, utilisez les images PNG dans vos applications iPhone si possible comme format d'image préféré. "
En outre, PNG est un format sans perte et sont JPGs lossy. Apple a choisi ce format pour ces raisons.
-Kevin
- 1. Quel est le moyen le plus rapide de dessiner une image sur une autre image?
- 2. Quel est le moyen le plus rapide d'écrire/lire une grande table de nombres en Java?
- 3. Quel est le moyen le plus rapide de charger une colonne text ou ntext SQL Server?
- 4. Le moyen le plus rapide pour dessiner une superposition sur une image dans les formulaires Windows
- 5. Quel est le moyen le plus rapide pour lire/écrire sur le disque dans .NET?
- 6. Quel est le décodeur le plus rapide pour le décodage à grande échelle jpeg?
- 7. Quel est le moyen le plus rapide d'obtenir une liste d'URL pour une recherche Google?
- 8. Quel est le moyen le plus rapide de valider un code postal existant sur l'iPhone?
- 9. Quel format d'image est le plus rapide pour BlackBerry?
- 10. Le moyen le plus rapide d'écrire une chaîne sur Windows?
- 11. Quel est le moyen le plus rapide pour télécharger des fichiers sur Akamai?
- 12. Quel est le moyen le plus rapide d'interroger une table MySQL pour de nouvelles lignes?
- 13. Quel est le moyen le plus rapide d'apprendre l'objectif-c pour un développeur expérimenté en PHP?
- 14. recherche rapide d'une petite image dans une image plus grande
- 15. Quel est le moyen le plus rapide pour déterminer si une URL existe en PHP?
- 16. Quel est le moyen le plus rapide de rafraîchir les algorithmes pour une interview technique (lundi)?
- 17. Dans ASP.NET, quel est le moyen le plus rapide d'obtenir l'URL de base pour une requête?
- 18. Quel est le moyen le plus rapide pour supprimer les anciens enregistrements
- 19. Quel est le moyen le plus rapide d'ajouter récursivement des répertoires sur le $ LOAD_PATH dans ruby?
- 20. Quel est le moyen le plus efficace pour charger un dictionnaire en Python?
- 21. Quel est le moyen le plus rapide pour récupérer le XML intersite en utilisant javascript?
- 22. Quel est le moyen le plus efficace pour charger DirectoryEntry d'un utilisateur?
- 23. NSMutableArray. Quel est le moyen le plus rapide pour le convertir en un tableau C simple?
- 24. Quel est le moyen le plus rapide pour trouver le nombre de correspondances entre les tableaux?
- 25. Quel est le moyen le plus précis pour obtenir des actions chronométrées sur iPhone?
- 26. Quel est le moyen le plus simple/le plus rapide pour savoir quand une branche git a été créée?
- 27. Quel est le moyen le plus rapide de trouver un fichier dans Zend Studio pour Eclipse?
- 28. Quel est le moyen le plus rapide de décompresser des images JPEG en C#
- 29. Quel est le moyen le plus simple de charger de l'argent sur Internet?
- 30. Transfert de 100 000 images vers S3. Quel est le moyen le plus rapide?
Oui je savais que sur l'optimisation des .png de Xcode mais qu'en est le cas lorsque vous devez charger png à partir de diverses sources (web, galerie photo). Ensuite, ils ne sont pas optimisés et cela peut être assez lent: -/ – CodeFlakes
C'est surtout vrai que les photos chargées dynamiquement (web, etc.) ne sont pas optimisées en utilisant l'outil d'Apple. Cependant, c'est toujours le choix le plus judicieux, car vos images auront l'air impeccables (et seront encore assez petites pour conserver la bande passante du réseau). En général, j'ai eu beaucoup plus de chance avec PNG qu'avec JPG. –
J'ai comparé cela et [les images Xcode étaient ** plus lentes **] (http://imageoptim.com/xcode.html) que les images PNG standard optimisées avec d'autres outils. La taille du fichier (E/S disque?) Était plus importante que byteswapping.J'ai seulement comparé le PNG au PNG, mais je suppose qu'un fichier JPEG significativement plus petit se chargerait aussi plus rapidement. – Kornel