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