1
我有一個視圖,其中有6個圖像視圖。我使用相機UIImagePickerController設置圖像。每次我選擇第三張圖片時,我的應用總是崩潰,當我檢查了樂器時,沒有任何泄漏。什麼不對? 這裏是我的代碼:應用程序崩潰後拍攝第3張圖片 - iOS
- (void)openCamera
{
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
{
[imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];
[imagePicker setDelegate:self];
[self presentViewController:imagePicker animated:YES completion:nil];
}
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
NSData* imageData = UIImageJPEGRepresentation([info objectForKey:UIImagePickerControllerOriginalImage], 0.0001f);
[self dismissViewControllerAnimated:true completion:nil];
if ([_selectedButton isEqualToString:@"headOffice"])
{
[[NSUserDefaults standardUserDefaults] setObject:imageData forKey:@"imgHeadOffice"];
//_imgHeadOffice = [UIImage imageWithData:imageData];
_imgViewHeadOffice.image = [UIImage imageWithData:imageData];
}
else if ([_selectedButton isEqualToString:@"siteOffice"])
{
[[NSUserDefaults standardUserDefaults] setObject:imageData forKey:@"imgSiteOffice"];
//_imgSiteOffice = [UIImage imageWithData:imageData];
_imgViewSiteOffice.image = [UIImage imageWithData:imageData];
}
else if ([_selectedButton isEqualToString:@"roadCondition"])
{
[[NSUserDefaults standardUserDefaults] setObject:imageData forKey:@"imgRoadCondition"];
//_imgRoadCondition = [UIImage imageWithData:imageData];
_imgViewRoadCondition.image = [UIImage imageWithData:imageData];
}
else if ([_selectedButton isEqualToString:@"vehicle"])
{
[[NSUserDefaults standardUserDefaults] setObject:imageData forKey:@"imgVehicle"];
//_imgVehicle = [UIImage imageWithData:imageData];
_imgViewVehicle.image = [UIImage imageWithData:imageData];
}
else if ([_selectedButton isEqualToString:@"installedTire"])
{
[[NSUserDefaults standardUserDefaults] setObject:imageData forKey:@"imgInstalledTire"];
//_imgInstalledTire = [UIImage imageWithData:imageData];
_imgViewInstalledTire.image = [UIImage imageWithData:imageData];
}
else if ([_selectedButton isEqualToString:@"tireScrap"])
{
[[NSUserDefaults standardUserDefaults] setObject:imageData forKey:@"imgTireScrap"];
//_imgTireScrap = [UIImage imageWithData:imageData];
_imgViewTireScrap.image = [UIImage imageWithData:imageData];
}
}
這裏是我的儀器快照:
編輯: 在加工生產線
NSData* imageData = UIImageJPEGRepresentation([info objectForKey:UIImagePickerControllerOriginalImage], 0.0001f);
應用程序崩潰的第三次我拍照。
這是日誌,當應用程序關閉
你使用ARC嗎? – 2013-03-26 09:22:44
是的..我使用弧。 – 2013-03-26 09:23:28
這些圖像是否相同?可能是他們有大尺寸,你的應用程序想分配一個巨大的緩衝區,所以ios殺死它 – 2013-03-26 09:26:05