카메라에서 사진을 찍을 때 내 응용 프로그램이 "Received Memory Warning
"이라고 말하면 충돌이 발생합니다 (UIImagePickerController
). 내가, 내가 사고를 얻고 내 장치 (2 개 이상)에서 실행중인 다른 응용 프로그램이 있으면 거기에 하나의 다른 응용 프로그램의 실행중인 경우, 또는 내가 시작하기 전에 다른 앱이 실행되지 :ImagePickerController 내 장치에서 다른 응용 프로그램 (2 개 이상의 응용 프로그램)이 실행 중일 때 "수신 된 메모리 경고"라고 내 응용 프로그램이 충돌합니다
시나리오는 내가 충돌을 얻을 때 내 응용 프로그램을 누른 다음 전혀 충돌이 없습니다.
이 충돌은 카메라에서 사진을 찍을 때만 발생하지만 사진 라이브러리에서 사진을 선택하면 전혀 충돌이 없습니다.
Xcode 4.3.2를 사용 중이고 ARC을 사용 중입니다.
아무도 도와 드릴 수 있습니까?
이
은 내가-(void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex: (NSInteger)buttonIndex
{
if (buttonIndex < 2)
{
if([UIImagePickerController isSourceTypeAvailable:buttonIndex==0?UIImagePickerControllerSourceTypeCamera:UIImagePickerControllerSourceTypePhotoLibrary])
{
UIImagePickerController *ipc = [[UIImagePickerController alloc] init];
[ipc setDelegate:(id<UIImagePickerControllerDelegate,UINavigationControllerDelegate>) self];
[ipc setSourceType:buttonIndex==0?UIImagePickerControllerSourceTypeCamera:UIImagePickerControllerSourceTypePhotoLibrary];
if (buttonIndex == 0)
{
[ipc setAllowsEditing:NO];
}
[ipc setMediaTypes:[NSArray arrayWithObjects:(NSString *)kUTTypeImage, nil]];
[self presentModalViewController:ipc animated:YES];
}
else
{
UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Action Alert" message:@"Camera is not available in this device." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
}
}
}
-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[self dismissModalViewControllerAnimated:YES];
UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
if (!image) image = [info objectForKey:UIImagePickerControllerOriginalImage];
[NSThread detachNewThreadSelector:@selector(scallImage:) toTarget:self withObject:image];
}
-(void) scallImage:(UIImage *) image
{
CGSize newSize = CGSizeMake(320, 480);
UIGraphicsBeginImageContext(newSize);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
image=nil;
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSString *cImage = [UIImageJPEGRepresentation(newImage, 0.5) base64EncodedString];
[ImageButton setBackgroundImage:newImage forState:UIControlStateNormal];
[ImageButton setHidden:NO];
//[profileImageButton setBackgroundImage:newImage forState:UIControlStateNormal];
newImage=nil;
}
내 코드에서 잘못된 어떤 일이 있습니까
를 코드를 사용하고 있습니까?
이 발생 않거나은 (테이블보기에서처럼, 예를 들어)있는 UIImage의 수는로드 및 주민 및 표시 개체를해야합니까? –
두 가지 방법으로 발생합니다. – Vasanth