Как оптимизировать UIImageView - PullRequest
0 голосов
/ 15 марта 2012

Это моя программа: У меня есть переменная кэша @property (nonatomic, retain) NSMutableDictionary *cache;, где я храню свои UIImageViews. Размер изображения 768 × 1024.

UIImageView *cap_1 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"face1_cap_0.png"]];
    [self.cache setObject:cap_1 
                         forKey:@"cap_1"];
    [cap_1 release];

    UIImageView *cap_2 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"face1_cap_1.png"]];
    [self.cache setObject:cap_2 
                         forKey:@"cap_2"];
    [cap_2 release];

    UIImageView *cap_3 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"face1_cap_2.png"]];
    [self.cache setObject:cap_3 
                         forKey:@"cap_3"];
    [cap_3 release];

    UIImageView *cap_4 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"face1_cap_3.png"]];
    [self.cache setObject:cap_4 
                         forKey:@"cap_4"];
    [cap_4 release];

    UIImageView *cap_5 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"face1_cap_4.png"]];
    [self.cache setObject:cap_5 
                         forKey:@"cap_5"];
    [cap_5 release];

    UIImageView *cap_6 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"face1_cap_5.png"]];
    [self.cache setObject:cap_6 
                         forKey:@"cap_6"];
    [cap_6 release];

Я использую UIImageViews в PanGesture, каждые 50 пунктов пролистывания я добавляю каждый UIImageView на мой основной вид. Я имею отставание только в первый раз, тогда я добавляю все UIImageViews на главном экране, но для всех других раз это работает быстро. Как я могу оптимизировать первый удар? Или, пожалуйста, посоветуйте мне другой способ сделать это.

Ответы [ 3 ]

0 голосов
/ 15 марта 2012

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

0 голосов
/ 15 марта 2012

В представлении загружен, вы можете напрямую добавлять изображения в основной вид со скрытым свойством, установленным на YES.Затем вы просто устанавливаете для их свойства значение NO.вычисления.

0 голосов
/ 15 марта 2012

Вы должны перенести длительные операции в другой поток, чтобы не блокировать пользовательский интерфейс. Проверьте эту статью для примера.

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