Программирование на iOS / Советы по памяти - PullRequest
0 голосов
/ 16 июля 2011

Это сложно объяснить, но, надеюсь, я достаточно четко сформулирую свою проблему.

Я работаю над проектом iOS с несколькими уровнями, и каждый уровень будет содержать до 40 полноэкранных изображений на экране на любом из них.время, но 98% каждого изображения прозрачны, и вместе они создают одно изображение.Каждое изображение размером 640 х 960 PNG.Единственный способ, которым я могу выровнять их точно, это получить их все в полном разрешении, так как я не могу установить местоположение для каждого из них.

Когда приложение загружено, изображения могут легко занимать более 130 МБ памяти.Это кажется сумасшедшим, когда изображение должно занимать всего 1-2 МБ.

Очевидно, что все изображения нужно загружать как отдельные UIImageViews, так как приложение должно раскрывать каждое изображение с течением времени.то есть они скрыты при загрузке и не видны, когда пользователь взаимодействует с экраном.

У меня приложение полностью в рабочем состоянии, но мне интересно, есть ли у кого-то какие-то идеи относительно того, как я могу это сделать,использовать гораздо меньше памяти.

Я с нетерпением жду возможности услышать некоторые идеи.

1 Ответ

0 голосов
/ 16 июля 2011

40 * ~ 2 МБ довольно близко к 130 МБ.

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

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