大佬教程收集整理的这篇文章主要介绍了ios – 使用UIImagePickerController时的内存警告,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
当您拍照并按下相机视图控制器上的“使用照片”按钮时,我会收到内存警告.目的是按下“使用照片”按钮,它会改变ImageView的内容.
我认为内存问题可能是由于捕获的图像是全屏的,而ImageView是250h 250w.但我尝试缩小相机拍摄的图像大小,然后将其分配给ImageView.然而,即使我将其调整为100 x 100,这仍然无效.
其次,我没有将相机拍摄的照片分配给ImageView,但它仍然有内存警告.
我在这里查看了其他答案并尝试了上面的两个,但它仍然存在.我将在下面显示我的代码.这会影响我对应用商店的提交吗?当然,如果这是一个常见的事件,它是一个错误或有一个解决方案?如果可以查看提供的代码并发现错误或建议如何处理此内存警告,那将会很棒?
我的应用程序95%完成了此内存警告,所以它接近提交时间.
我的代码:
- (IBACtion)takePhoto:(id)sender { self.imagePicker = [[UIImagePickerController alloc] init]; self.imagePicker.delegate = self; self.imagePicker.allowsEdiTing=NO; if ([UIImagePickerController issourceTypeAvailable:UIImagePickerControllersourceTypeCamera]) { [self.imagePicker setsourceType:UIImagePickerControllersourceTypeCamera]; [self presentViewController:self.imagePicker animated:YES completion:NULL]; } else{ [self.imagePicker setsourceType:UIImagePickerControllersourceTypePhotoLibrary]; [self presentViewController:self.imagePicker animated:YES completion:NULL]; } } - (IBACtion)choosePhoto:(id)sender { self.imagePicker2 = [[UIImagePickerController alloc] init]; self.imagePicker2.delegate = self; self.imagePicker2.allowsEdiTing=NO; [self.imagePicker2 setsourceType:UIImagePickerControllersourceTypePhotoLibrary]; [self presentViewController:self.imagePicker2 animated:YES completion:NULL]; } -(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{ self.image = [info objectForKey:UIImagePickerControllerOriginalImage]; CGRect rect = CGRectMake(0,100,100); UIGraphicsBeginImageContext( rect.size ); [self.image drawInRect:rect]; UIImage *picture1 = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); [self.snapImage setImage:picture1]; [self.uploadImageBtn setHidden:NO]; [self dismissviewControllerAnimated:YES completion:NULL]; } -(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker{ [self dismissviewControllerAnimated:YES completion:NULL]; }
self.image = [info objectForKey:UIImagePickerControllerOriginalImage];
我改成了:
UIImage * image = [info objectForKey:UIImagePickerControllerOriginalImage];
这样,图像在不再使用时会被破坏.注意:我在iPhone 4系列和5上测试了这种新方法.内存警告只出现在4系列而不是5系列上.
通过环顾网络,已经有很多关于Camera和iOS7的Apple报告提交给了Apple.例如,当您启动相机时会不定期地进行黑色预览 – 这与iOS7相关联,而iPhone 4系列则不是5.这可能是处理器功率的差异 – 但我不确定.我的应用程序获得了应用程序商店的批准,因此内存警告不会成为问题 –
以上是大佬教程为你收集整理的ios – 使用UIImagePickerController时的内存警告全部内容,希望文章能够帮你解决ios – 使用UIImagePickerController时的内存警告所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。