ios - UIImagePickerController ImageIO_PNG takes massive memory -
although resize images once uiimagepickercontroller has finished taking photo, instruments profile says calls imageio_png taking massive amounts of memory (40 mb+) each time take photo. code:
- (void)imagepickercontroller:(uiimagepickercontroller *)picker didfinishpickingmediawithinfo:(nsdictionary *)info { @autoreleasepool { if (myimageview.image == nil) { myimageview.contentmode = uiviewcontentmodescaleaspectfill; uiimage *topimage = [info objectforkey:@"uiimagepickercontrolleroriginalimage"]; uiimage *image = [info objectforkey:uiimagepickercontrolleroriginalimage]; cgrect rect = cgrectmake(0,0,320,440); uigraphicsbeginimagecontext( rect.size ); // use local image variable draw in context [topimage drawinrect:rect]; uiimage *topresized = uigraphicsgetimagefromcurrentimagecontext(); uigraphicsendimagecontext(); myimageview.image = topresized; image = nil; info = nil; [picker dismissviewcontrolleranimated:no completion:nil]; [picker removefromparentviewcontroller];
remove below line code might help:
image = nil; info = nil;
Comments
Post a Comment