(iphone) сколько памяти занимает UIImage? - PullRequest
0 голосов
/ 07 января 2011

У меня проблемы с объемом памяти UIImage.

  1. Если у вас есть данные изображения с разрешением 320 * 320 (png), когда вы загружаете изображение в память,
    используя [UIImage imageWithData:], результирующий UIImage займет 320 * 320 * 4?

  2. влияет ли размер экрана (разрешение) на использование памяти изображения?

  3. Будет ли приведенный ниже код занимать вдвое больший объем памяти myImage или только один объем памяти изображений? (320 * 320 * 4) * 2 против (320 * 320 * 4)? или что-то еще?

    UIImage* myImage = [UIImage imageWithData:];    
    myImage = [myImage scaleToSize:];
    

    когда scaleToSize определено как

    - (UIImage*)scaleToSize:(CGSize)size
    {
      // Create a bitmap graphics context                                                                                              
    
    
      // This will also set it as the current context                                                                                                                                                                                                                             
      UIGraphicsBeginImageContext(size);
    
      // Draw the scaled image in the current context                                                                                                                                                                                                                             
      [self drawInRect:CGRectMake(0, 0, size.width, size.height)];
    
      // Create a new image from current context                                                                                                                                                                                                                                  
      UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();
    
      // Pop the current context from the stack                                                                                                                                                                                                                                   
      UIGraphicsEndImageContext();
    
      // Return our new scaled image                                                                                                                                                                                                                                              
      return scaledImage;
    }
    

Ответы [ 2 ]

2 голосов
/ 06 июля 2012

ДЛЯ ПРОВЕРКИ РАСПРЕДЕЛЕНИЯ ПАМЯТИ

Если вы хотите проверить конкретные изображения, запустите приложение в iPhone / Simulator во время использования инструментов.

Run with the Allocations profile

Убедитесь, что вы выбрали подходящую цель.Когда вы запустите программу, вы увидите пространство памяти, занимаемое определенным выделением.


при запуске

Вы увидите объекты, выделенные вокно.Как этот, к которому я прикрепил iTunes.

While running

0 голосов
/ 07 января 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...