Использование памяти UIImage с png и jpg - PullRequest
4 голосов
/ 05 декабря 2009

У меня есть два файла в каталоге документов того же изображения, снятого камерой. Один был сохранен с использованием UIImagePNGRepresentation, а другой - с использованием UIImageJPEGRepresentation. Другими словами, один - PNG, а другой - JPG.

Теперь, используя инструмент с реальным устройством. если я загружаю png (initWithContentOfFile :), «Реальная память» увеличивается с 2,34 МБ до 2,43 МБ. Но если вместо этого загрузить jpeg, объем памяти увеличится с 2,34 МБ до более 23 МБ !!! У меня были похожие результаты загрузки любого PNG по сравнению с JPEG.

Может кто-нибудь помочь мне понять, почему?

Ответы [ 2 ]

4 голосов
/ 06 декабря 2009

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

Если подумать, для изображения 1600x1200 с камеры iPhone 23 МБ очень реалистично, а 0,09 МБ недостаточно для хранения данных изображения.

0 голосов
/ 06 декабря 2009

У Apple есть специальный нестандартный формат для файлов png, где цветовые байты расположены в том же порядке, что и цветные полосы на дисплее iPhone. Изображения PNG Ресурсы переписываются при копировании в комплект приложений XCode. Я подозреваю, что представления png имеют особый случай при использовании в качестве изображений на iPhone.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...