Есть приложение, работающее с фотографиями из библиотеки через Photos framework - выбор из библиотеки -> кроп-> отправка на сервер.
На iPhone SE, 5S, 5C, 4s все работает прекрасно, использование памяти ОЗУ дай бог дотягивает до 50 мб, в общем ООМ на этих устройствах лишь сказки и страшный сон.
Зато когда запускаем апп на iPhone 6 и более новых телефонах то память жрется неимоверными темпами - бывают скачки до 400 мб. В частности есть скроллить таблицу с ячейками, содержащими UIImageView с фотографиями в хорошем качестве в Instruments происходит какой то ад.
Складывается ощущение, что чтобы отобразить в UIImageView фото, размером 3 мб системе требуется все 30.
Вот я и не могу понять - это я криворукий или все же что то не так с ARC (или еще чем?) на определенной группе устройств? 6 чувство подсказывает что тут как то может участвовать Retina3x но это только догадки.
Если загрузить все необходимые фото из iCloud, сохранить их в Data в Realm и при следующем запуске тянуть уже из БД то все прекрасно - 42 мб максимум используется как не верти туда сюда таблицу.
Обратите внимание на блоки в коде (completion handlers), возможно у вас где то происходит захват и блок держит обьект, а обьект - блок, для этого в Swift есть unowned и weak типы ссылок. Использование reusable объектов усугубляет проблему. Используйте Instruments для дебаггинга.