我通過相機捕獲圖像。然後我轉到下一個控制器,在其中顯示拍攝的圖像。我回去捕捉圖像屏幕,並且這個循環持續10到15次。在此之後,當我嘗試捕捉圖像時,應用程序會因「低內存警告」而崩潰。 下面是代碼:應用程序在圖像捕獲崩潰
- (IBAction) takePhoto:(id) sender
{
/*
tempControl *intermediate=[[tempControl alloc] initWithNibName:@"tempControl" bundle:nil];
[self.navigationController pushViewController:intermediate animated:YES];
[intermediate release];
*/
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]){
imagePickerController= [[UIImagePickerController alloc] init];
[imagePickerController setMediaTypes:[NSArray arrayWithObjects:(NSString *)kUTTypeImage, nil]];
imagePickerController.delegate = self;
imagePickerController.sourceType = UIImagePickerControllerSourceTypeCamera;
[self presentModalViewController:imagePickerController animated:YES];
}
else{
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"Camera Alert" message:@"Device Lacks Camera" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
[alert release];
alert = nil;
}
}
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingImage:(UIImage *)image
editingInfo:(NSDictionary *)editingInfo{
[picker dismissModalViewControllerAnimated:NO];
[picker release];
picker =nil;
/*
cropReciept *recieptToCrop=[[cropReciept alloc] initWithNibName:@"cropReciept" bundle:nil];
[recieptToCrop setReciept:image];
[self.navigationController pushViewController:recieptToCrop animated:YES];
[recieptToCrop release];
*/
OCRDemoViewController *recieptToCrop=[[OCRDemoViewController alloc] initWithNibName:@"CropTestViewController" bundle:nil];
[recieptToCrop setImageToCrop:image];
if ([self.selectedTicketType isEqualToString:@"MAXI QuickPick"]) {
recieptToCrop.selectedValueOfTicket=50;
recieptToCrop.drawNumber=self.selectedDrawNumber;
}
else if ([self.selectedTicketType isEqualToString:@"JUMBO QuickPick"]) {
recieptToCrop.selectedValueOfTicket=36;
recieptToCrop.drawNumber=self.selectedDrawNumber;
}
else if ([self.selectedTicketType isEqualToString:@"MEGA QuickPick"]) {
recieptToCrop.selectedValueOfTicket=24;
recieptToCrop.drawNumber=self.selectedDrawNumber;
}
else if ([self.selectedTicketType isEqualToString:@"REGULAR QuickPick"]) {
recieptToCrop.selectedValueOfTicket=12;
recieptToCrop.drawNumber=self.selectedDrawNumber;
}
else if ([self.selectedTicketType isEqualToString:@"SUPER QuickPick"]) {
recieptToCrop.selectedValueOfTicket=18;
recieptToCrop.drawNumber=self.selectedDrawNumber;
}
[self.navigationController pushViewController:recieptToCrop animated:YES];
[recieptToCrop release];
recieptToCrop=nil;
}
什麼是崩潰報告 – Rajneesh071
這是由於保留release..make確保你正在做正確 – Rajneesh071
它給控制檯內存不足警告前2次嘗試再次捕獲圖像。 :(奇怪的 –