Нет и нет.
Следует повторить: размер файла изображения на диске нельзя сравнивать с размером изображения в памяти как текстура .
Например, файл PNG использует сжатие без потерь, тогда как то же изображение, что и файл JPG , использует сжатие с потерями и, следовательно, может быть значительно меньше.Но после загрузки в качестве текстуры обе текстуры будут использовать одинаковый объем памяти, поскольку GPU не знает, что такое PNG или JPG, он может работать только с различными форматами текстур, которые поддерживает GPU, иформаты не являются ни одним из распространенных форматов файлов изображений, потому что они служат очень различным целям.
Каждое изображение, которое должно отображаться на экране, должно быть загружено в текстуру.Размеры текстур определяются несколькими свойствами: размер, цвет и глубина альфа, и где поддерживается: сжатие.
Что касается сжатия, единственные поддерживаемые форматы на устройствах iOS: PVRTC2 и PVRTC4 (2 и 4 означают 2-бит и 4-бит, но это не сопоставимо с фактической глубиной цвета в битах).Текстуры, использующие этот формат, используют очень мало памяти и рендерится очень быстро, но вы теряете качество изображения и яркость цвета, во многих случаях слишком много, чтобы быть приемлемым.
Это оставляет вас с несжатыми форматами, которые либо 8Битовые, 16-битные или 32-битные текстуры.8-битные текстуры используются только для маскировки, тонирования и других технических целей, по сути, это изображения в оттенках серого.
Суть текстур, используемых в играх и приложениях, - 16-битная или 32-битная.Это означает, что для каждого пикселя текстуры вам потребуется 2 байта или 4 байта памяти.Текстура 1024x1024 с 32-битной глубиной цвета использует 1024x1024x4 = 4,194,304 байт или 4 мегабайта памяти независимо от размера файла изображения.
Обычно разработчики стремятся использовать 16-битные текстуры, поскольку это сокращает вдвое использование памяти идает небольшое повышение производительности.Если изображения не используют градиенты, где недостающие дополнительные цвета могут стать заметными.Для больших изображений или быстро движущихся изображений PVR-изображения могут улучшить производительность рендеринга и использование памяти, но их следует использовать только в тех случаях, когда разница с несжатыми текстурами едва заметна.
Наконец, UIImageView не оптимизирован для скорости рендеринга.в малейшей степени.Если вы планируете создать игру, основанную на UIImageView, вы также можете выстрелить себе в ногу - таким образом вы избавите себя от некоторой боли.:)