Проблема производительности UIImageview - PullRequest
1 голос
/ 11 января 2012

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

Все довольно просто:

На моем iPad1 у меня есть UIImageView (700x700) и изображение внутри. Когда я провожу по экрану, я меняю UIImage каждые 2 пикселя.

При работе с изображениями размером по 40 Кб каждый такой подход не имел проблем. Теперь, когда я увеличил размер файла (450 кб каждый), это больше не работает должным образом. Поскольку он лучше работает на симуляторе, он говорит мне, что у меня проблема с производительностью - надеюсь, я здесь прав.

Я уже переключился с использования imageNamed: поскольку он кэширует изображения, и это приводит к проблемам с памятью.

Я даже до уровня слоя, так как кто-то упомянул, что это даже повысит производительность.

Я все еще не доволен, анимация предназначена для имитации, не отображается бегло. Здесь я хотел бы отметить, что использование анимации не вариант - я хочу, чтобы пользователь перетаскивал и определял скорость анимации.

Вот код:

- (void) touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {


    UITouch *t = [touches anyObject];
    CGPoint p = [t locationInView:self.view];

    int xDist = p.x - startTouch.x;

    int res = (xDist)/2;

     if (index + res > 0 && index + res < 98) {

        UIImage *img;
        NSString *fullpath = [[[NSBundle mainBundle] bundlePath] stringByAppendingString:[NSString stringWithFormat:@"/%d.png", res + index]];            
        img = [UIImage imageWithContentsOfFile:fullpath];
        myImageView.layer.contents = (id)img.CGImage;
        diff = res;

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