2009-09-01 4 views
0

Мне нужно использовать растягиваемое UIImage сотни раз в моем приложении в нескольких UIImageViews. Можно ли в глобальном масштабе повторно использовать один и тот же растяжимый UIImage вместо того, чтобы воссоздавать их в памяти каждый раз, когда мне нужно добавить его в UIImageView?Лучшая производительность при использовании растяжимого UIImage

Я знаю [UIImage imageNamed:] кэширует изображения для лучшей производительности, но это не может использоваться для растягиваемых изображений!

Спасибо,

Майк

ответ

3

О, абсолютно, вы всегда должны хранить свое изображение один раз, а затем называть то же изображение каждый раз, когда хотите его нарисовать. Обычно для проектов с большим количеством изображений у меня есть один класс SpriteManager, содержащий NSDictionary, полный спрайтов. Затем я могу ссылаться на каждый из них по имени файла. Таким образом, каждое изображение загружается только один раз, что значительно быстрее.

Абсолютно самый эффективный способ сделать это, однако, это просто использовать OpenGL ES. И если вы рисуете сотни изображений, я абсолютно рекомендую вам это сделать.

1

Определенно: Повторное изображение. Вы храните его в глобальной переменной? Удостоверьтесь, что изображение retain (или поместите его в сохраненное свойство для какого-либо глобального класса, такого как ваше приложение), поскольку оно, вероятно, появилось в AutoReleased.

+0

Спасибо за вашу помощь, я принял первый ответ как ответ только потому, что он был первым, и вы не можете исключить несколько ответов !! –