Разобрать разрешения изображений для ios

Каков наиболее эффективный способ работы с разными разрешениями изображений в Parse для разных устройств ios?

Например

  1. Было бы лучше иметь 1 изображение для анализа в самом высоком разрешении и загрузки для каждого устройства? (более низкая скорость загрузки для устройств с более низким разрешением)

  2. Получите 1x 2x и 3x версии изображения в Parse и загрузите для соответствующего устройства. (занимает больше места на Parse)

  3. Запустите облачный код в Parse, чтобы изменить размер изображений до их правильного разрешения по мере их загрузки на устройства. (возможна медленная скорость загрузки для всех устройств?)

Любые другие варианты, о которых кто-то может подумать, будут приветствоваться.

Al


person Al Martin    schedule 25.06.2015    source источник


Ответы (1)


Я бы сказал, что это сильно зависит от варианта использования. Например, если у вас есть изображение профиля, я бы рекомендовал загружать его в 2-3 вариантах, так как эти изображения могут загружаться очень часто (например, в приложении социальной сети, где у вас есть изображения профиля в сообщениях, профилях пользователей, сообщениях, так далее.). Когда изображение загружается большое количество раз, вы предпочитаете загружать изображение меньшего размера, чтобы минимизировать время загрузки и сэкономить ресурсы для передачи данных синтаксического анализа.

С другой стороны, для изображений, которые загружаются не так часто, как другие, я бы рекомендовал хранить их в формате с высоким разрешением и уменьшать их (при необходимости) по мере загрузки. Возьмем, к примеру, снова приложение для социальных сетей. Сообщение содержит изображение профиля (которое загружается довольно часто) и фактическое сообщение (в данном случае фото). Фактическая фотография поста загружается только один раз (в идеале), поэтому не должно быть причин беспокоиться о скорости загрузки.

По сути (и именно так я с этим справляюсь), вы всегда должны пытаться кэшировать каждое изображение. Изображения, которые можно легко кэшировать и которые не нужно часто извлекать, можно хранить в одном формате с высоким разрешением (экономия места для данных при разборе). Изображения, которые не могут быть легко кэшированы или должны обновляться довольно часто, должны храниться в разных размерах, что в конечном итоге сэкономит вам передачу данных. Небольшой объем дополнительного хранилища, если честно, не имеет большого значения, особенно если вы храните их в уменьшенном размере.

person eschanet    schedule 25.06.2015
comment
Спасибо за ваше понимание. Это помогло мне решить, как справиться с этим. Я заинтригован кэшированием, это что-то, что есть в их ресурсах синтаксического анализа? Или это то, что должно быть сделано в конце приложения с помощью кодирования? - person Al Martin; 26.06.2015
comment
Parse предлагает базовое кэширование изображений. Это довольно просто, для каждого PFQueryвы можете определить cachePolicy: query.cachePolicy = kPFCachePolicyCacheThenNetwork (например). В этом примере результаты этого запроса сначала извлекаются из кэша, а затем проверяются в сети. Существует множество других возможностей, дополнительную информацию см. в их документах. . - person eschanet; 26.06.2015