Изображение любого размера будет «работать» на обоих устройствах - там, где это действительно важно, это производительность и эффективность. Например, если вы показываете эти изображения в виде таблицы с прокруткой, вы не хотите, чтобы устройства, не поддерживающие сетчатку, загружали и рисовали огромное уменьшенное изображение, иначе представление вашей таблицы будет сильно зависать.
Лучше всего загрузить самое необходимое необходимое разрешение, и тогда ваш удаленный сервер должен создавать уменьшенные изображения, которые могут предоставляться динамически в зависимости от потребностей запрашивающего устройства. Это лучше, чем использовать общий размер изображения для обоих устройств, потому что вы либо будете без необходимости замедлять работу приложения, либо отображать пиксельное изображение.
Например: скажем, пользователь захватывает изображение 200x200. Вы хотите, чтобы изображение (при загрузке) отображалось в виде изображения 50x50. Вы хотите, чтобы удаленный сервер предоставлял изображение 100 пикселей для дисплеев сетчатки и изображение 50 пикселей для дисплеев без сетчатки. Каждое устройство должно запрашивать изображение соответствующего размера для разрешения своего устройства. Представление изображения может обрабатывать масштабирование, и каждый будет выглядеть плавно, а скорость загрузки и производительность приложения должны быть оптимальными.
Если вы хотите сохранить еще большую пропускную способность, в описанном выше сценарии вы можете уменьшить изображение до 100x100 перед отправкой. Вот несколько полезных советов:
https://stackoverflow.com/questions/1282830/uiimagepickercontroller-uiimage-memory-and-more