we using 3 uiimageview
in our interface ,2 important tasks , 1 visualeffectview
.
we getting heavy memory usage , @ times "received memory warnings" in debug area after using jpg compression.(only when using large images taken dslr cameras)
and "connection assetsd interrupted or assetsd died" warnings.
where doing wrong here?
here our didfinishpickingmediawithinfo code below.
- (void)imagepickercontroller:(uiimagepickercontroller *)picker didfinishpickingmediawithinfo:(nsdictionary *)info { uiimage *selectedimage=info[uiimagepickercontrolleroriginalimage]; nsdata *selectedimgdataforcompression= uiimagejpegrepresentation(selectedimage, 0.1) ; uiimage *compressedimage=[uiimage imagewithdata:selectedimgdataforcompression]; visualeffectimageview.image=compressedimage; backgroundimageview.image=compressedimage; foregroundimageview.image=compressedimage; if(ui_user_interface_idiom()==uiuserinterfaceidiomphone) { [picker dismissviewcontrolleranimated:yes completion:nil]; } else { [popovercontroller dismisspopoveranimated:yes]; [self popovercontrollerdiddismisspopover:popovercontroller]; } }
memory report below
jpeg compression nothing @ here. reduces file size when writing disk. uiimage
take amount of memory proportional number of pixels in image.
you need scale images appropriately fit screen. image modern dslr far big used natively background image - iphone 5s 640 pixels wide, 12 megapixel image 4000 pixels wide.
there nice writeup of image scaling techniques here.