Je voulais charger et afficher l'image (.jpg, .png) ayant une grande taille par ex. 1800x1200 ou 2000x1800 (largeur x hauteur). Si j'affiche de telles images de grande taille (1800x1200 ou 2000x1800) dans UIImageView, cela consomme aussi beaucoup de mémoire et l'application tombe en panne. Toujours selon la documentation d'Apple (http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIImage_Class/Reference/Reference.html), nous devrions éviter de créer des objets UIImage dont la taille est supérieure à 1024 x 1024. Une solution consiste à redimensionner l'image. J'ai appliqué la logique pour redimensionner l'image en utilisant le code suivant.UIImage avec grande taille d'image - Problème de mémoire - Crash
UIGraphicsBeginImageContext(newSize);
[image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Cela fonctionne bien et redimensionne l'image. Mais quand il charge une grande image dans un contexte de périphérique pour la redimensionner, il consomme beaucoup de mémoire pendant une seconde et à cause de cela l'application plante. Donc, cette approche ne fonctionne pas. S'il vous plaît partager si vous avez une meilleure approche pour redimensionner sans l'écraser.
également dans ce (http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIImage_Class/Reference/Reference.html) lien, Apple a déclaré que
« Vous devriez éviter de créer des objets UIImage qui sont supérieures à 1024 x 1024 taille. En plus de la grande quantité de mémoire comme une 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 dans une vue ou un calque.Cette restriction de taille ne s'applique pas si vous effectuez des manipulations basées sur le code 1024 pixels en le dessinant dans un contexte graphique bitmap-soutenu En fait, vous devrez peut-être redimensionner une image de cette manière (ou la diviser en plusieurs petites images) afin de la dessiner à l'un de vos points de vue. ".
Quelqu'un peut-il parler plus en détail "This size restriction does not apply if you are performing code-based manipulations, such as resizing an image larger than 1024 x 1024 pixels by drawing it to a bitmap-backed graphics context."
? Comment dessiner l'image sur le contexte graphique bitmap-soutenu? Qu'est-ce que le contexte graphique bitmap? Cela m'aiderait si quelqu'un pouvait partager un exemple de code. Merci d'avance !!