Проблема с производительностью при загрузке изображений на iPhone с сервера - PullRequest
0 голосов
/ 24 января 2011

У нас есть приложение на iPhone.Это приложение отображает 25 продуктов на странице / экране.Текстовые элементы, такие как название продукта, цена, скидка, URL-адрес изображения продукта и т. Д. Для всех 25 продуктов, сначала загружаются с сервера.

После этого мы делаем 25 синхронных запросов на загрузку 25 изображений продуктов, один за другим.Каждое изображение имеет размер около 25 КБ, и оно имеет размер примерно 300 на 400 пикселей, и нам нужны только изображения размером 72 на 72 пикселя для отображения на iPhone.Мы замечаем, что для отображения одного экрана / страницы требуется около 40 секунд, и такая производительность не очень хорошая.Поэтому мы исследуем, как повысить производительность.

  1. Повысится ли производительность, если мы уменьшим размер изображений на сервере до 72 на 72 пикселя.
  2. И это тожеМожно ли загрузить все 25 изображений с сервера на iPhone?Если да, то можете ли вы поделиться своими подходами относительно того, как это сделать?Мы хотим сделать это, только если это может улучшить производительность.

Ответы [ 3 ]

2 голосов
/ 24 января 2011

1.Если вы измените их размер до 72x72, тогда у вас будет меньший размер для загрузки, поэтому он быстрее.

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

для асинхронной загрузки вы можете использовать ASIHTTPRequest (он также имеет класс кэша).

если вы делаете синхронные запросы, ваш графический интерфейс будет зависать до тех пор, пока они не будут завершены.

0 голосов
/ 05 февраля 2014

** Вы можете использовать фреймворк sdwebimage для загрузки изображений с сервера в ios ** ** Вы можете использовать эту ссылку **

перейти по этой ссылке

скачать фрейм и получить информацию, как его использовать.

0 голосов
/ 24 января 2011

Во-первых, масштабирование изображений на сервере совершенно не сложно - вам больше не нужно загружать данные, которые вам абсолютно необходимы.

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

Наконец, при необходимости вы должны использовать кэш изображений и сохранять изображения локально (возможно, со ссылками в базе данных SQLite).Тем не менее, вам придется периодически выполнять обслуживание, чтобы поддерживать разумный размер файла.

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