Я читал различные вопросы по этой теме здесь, даже пытался слишком 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;
}
}