You are confused with the dimensions of the image and its size on disk.
In memory an image take WIDTH*HEIGHT*4 pixels, so let's say your image is 1000x1000px you end up using 4Mb ram.
UIImageJPEGRepresentation save the image with a compression factor, so you end up with a smaller image on disk, but the image has still the same dimensions.
To solve your problem you need to scale the image you downloaded to the correct dimension for your coverflow item.
You can do this using ImageIO framework :
- Create a CGImageSource from the downloaded data
- Call CGImageSourceCreateThumbnailAtIndex with the 2 properties kCGImageSourceCreateThumbnailFromImageIfAbsent and kCGImageSourceThumbnailMaxPixelSize