2013-04-15 2 views
0

Я разрабатываю приложение, где мне нужно захватить несколько изображений и сохранить их в папке. Приложение падает при превышении изображений. Также при съемке IPhone немного замедляется. Пожалуйста, кто-нибудь может мне помочь.IPhone падает при захвате нескольких изображений, а также замедляется

код Ф.О. захвата изображения

UIImagePickerController *picker=[[UIImagePickerController alloc]init]; 
picker.delegate=self; 
picker.sourceType=UIImagePickerControllerSourceTypeCamera; 

[self.navigationController presentModalViewController:picker animated:YES]; 

код для добавления изображений в файл

NSString *pngImagePath = 
[[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
NSUserDomainMask, YES) lastObject] 
stringByAppendingPathComponent:[NSString 
stringWithFormat:@"%@.png",imageName]]; 

    [dataImage writeToFile:pngImagePath atomically:YES]; 
+0

Вы показываете изображения на экране после их захвата? – pbibergal

+0

показать свой код. – Rajneesh071

+0

Опубликуйте свой код, который захватывает и сохраняет изображение в папке .. – Ganapathy

ответ

0

Вот, возьмите этот код, как пример, чтобы изменить размер изображения, прежде чем показать их на экране:

+ (UIImage*)imageWithImage:(UIImage*)image 
      scaledToSize:(CGSize)newSize; 
{ 
    UIGraphicsBeginImageContext(newSize); 
    [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)]; 
    UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    return newImage; 
} 

Обратите внимание, что вы также должны уменьшить количество изображений, прежде чем сохранять их на диск:

UIImage *image = YOUR_IMAGE; 
NSData *imageData = UIImageJPEGRepresentation(image, .06); // Here's the level of compression 
0

Просто попробуйте с @autoreleasepool один раз, возможно, это связано с утечками памяти. @autoreleasepool с сохранением до некоторой степени.

@autoreleasepool 
    { 
     // any allocation for UIImage if u have just bring inside the autoreleasepool 
     NSString *pngImagePath = 
     [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
     NSUserDomainMask, YES) lastObject] 
     stringByAppendingPathComponent:[NSString 
     stringWithFormat:@"%@.png",imageName]]; 
     [dataImage writeToFile:pngImagePath atomically:YES]; 
    } 
Смежные вопросы