2014-01-09 5 views
0

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

- (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; 
} 

ответ

3

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

Если вы используете много этих изображений, тогда вы будете использовать много памяти.

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

+0

Правда, вам не нужно много (может быть меньше 10) изображений из библиотеки для сбоя (из памяти) iPhone4, например. –

+0

Большое спасибо за ваш ответ. Я проверю. –

+0

И, похоже, вы еще не используете ARC - вы можете подумать об этом. –

Смежные вопросы