Итак, вот ситуация:
У меня есть CALayer размером с мой экран, и я устанавливаю свойство содержимого в формате JPEG размером 2 МБ, размером примерно 3500 x 2000 пикселей, с разрешением 240 пикселей на дюйм.
Я бы ожидал, что использование CALayer будет связано с небольшими затратами, но в моем примере приложения (которое выполняет только то, что описано выше) показано использование около 33 МБ RSIZE, 22 МБ RPVT и 30 МБ RSHRD. Я заметил, что эти числа намного лучше, когда приложение работает как 64-битное, чем 32-битное.
Я делаю все, что могу придумать в реальном приложении, из которого получен этот пример, включая пересчет моих CGImageRefs, чтобы они соответствовали только размеру слоя, но мне это кажется посторонним - разве это не должно быть проще?
Кто-нибудь сталкивался с хорошими методами для уменьшения количества памяти, используемой CALayers и CGImageRefs?