UIImageView vs UIView w / Image - эффективность

Это не совсем вопрос решения конкретной проблемы, а скорее просьба указать в правильном направлении.

Я создаю приложение, в котором я загружаю на экран несколько изображений (сохраненных в формате JPG) одновременно, и это должно быть так, я не могу выгрузить ни одно из них, потому что все они отображаются однажды.

Я попытался загрузить 30 изображений с разрешением около 800 * 600 пикселей, наивно думая, что он загружает в память только «сжатый» размер изображений (это около 200 КБ) - итого 6 МБ? Конечно, спустя несколько предупреждений о памяти, я понял, насколько я был глуп. Итак, теперь я изменяю их размер примерно до 400 пикселей на 300 пикселей каждый, и мой iPhone 4S почти справляется с требованиями к памяти.

Изначально я использовал UiView, где в drawRect я рисовал собственное нарисованное изображение, но переход на использование UIImageView значительно улучшил ситуацию. Приложение намного быстрее и отзывчивее. Я также обнаружил, что отключение растеризации в моем слое сильно повлияло на производительность.

На разработку такого рода «открытий» у меня ушло несколько часов, и меня интересовало, есть ли какие-то особые шаблоны проектирования или ресурсы, которые я могу использовать для максимально эффективной загрузки изображений на экран; в основном в отношении использования как можно меньшего объема памяти - есть ли хорошие практические правила? Почему использование UIImageView и UiView с изображением имело такое значение?

Был бы очень признателен, если бы кто-нибудь мог помочь.

Спасибо.

8
задан Vazzyb 11 January 2012 в 22:59
поделиться