Под анимацией вы подразумеваете кадры, которые воспроизводятся один за другим (например, анимированный GIF), или какой-то эффект CoreAnimation (OpenGL), который перемещает полигоны с отображенными текстурами вокруг?
Если это первое, я бы действительно подумал о том, как оптимизировать анимацию или устранить ее во всех случаях.
Если бы это было последним, я бы глубже вникнул в источник проблемы. Базовая анимация при нормальных обстоятельствах будет сбрасывать кадры, чтобы не попасть в подобные ситуации.
В любом случае вы можете рассмотреть возможность загрузки ресурсов текстуры немного раньше. У меня были некоторые проблемы в моих приложениях с методами анимации, которые принимают параметр UIImage, когда я создавал UIImage в вызове функции. Предварительная загрузка актива в моем коде немного раньше позаботилась о проблеме.
Как пример:
BAD
[[UIImage imageNamed:@"checkmark.png"] drawAtPoint:p];
ЛУЧШЕ
//declared at top of class
static UIImage *checkmark = nil;
в init:
checkmark = [UIImage imageNamed:@"checkmark.png"];
в DrawRect:
[checkmark drawAtPoint:p];
Вам нужно будет адаптировать эту технику к вашей конкретной ситуации. В моем случае, часто используется галочка, и она довольно маленькая, я не возражаю посвятить ей память постоянно.
Интересно, можно ли исправить ваши сбои, убедившись, что ресурсы были готовы для использования приложением.