我收到内存警告,应用程序崩溃。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
[self.btnSelectImage setImage:image forState:UIControlStateNormal];
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
{
[popOverSelectImage2 dismissPopoverAnimated:YES];
UIViewController *vc = [[UIViewController alloc]init];
vc.view = self.captionView;
[popOverSelectImage setPopoverContentSize:CGSizeMake(self.captionView.frame.size.width, self.captionView.frame.size.height) animated:NO];
popOverSelectImage.contentViewController = vc;
[vc release];
}
else
{
[self dismissModalViewControllerAnimated:YES];
}
self.imageToSave = image;
self.imagePicker = nil;
}
答案 0 :(得分:3)
当您在按钮上设置图像时,虽然它以较小的尺寸显示,但它使用的是完整图像,如果您从相机库中获取该图像,则会变得相当大。
如果您使用了大量这些图像,那么您将会使用大量内存。
如果您想将大量这些图像用作按钮图像,则应创建所需尺寸的较小图像,并使用这些缩略图而不是完整图像。你会以这种方式使用更少的内存。