2010-10-28 3 views
0

Я создаю каталог одежды на iPad. Приложение будет содержать более 2000 изображений в формате jpg с разрешением 2048 x 1536 @ 72ppi, а также 2 размера миниатюр для каждого изображения. Большой размер первичных изображений - это возможность масштабирования продуктов при разумном разрешении. Большие миниатюры будут отображаться на каждой странице, чтобы отображать альтернативные цвета для каждого продукта. Меньшие миниатюры используются во всплывающем всплывающем всплывающем диалоге страниц в стиле диафильма.Приложение для iPad iPad с 1000 изображениями

Я динамически изменяю размеры больших эскизов от полноразмерных изображений при отображении каждой страницы (в пейджинге UIScrollView). Меньшие эскизы предварительно визуализируются в photoShop, чтобы максимизировать производительность браузера страниц с прокруткой страниц.

Помимо пространства, занимаемого устройством, из-за большого количества изображений, какие другие проблемы или проблемы существуют вокруг большого количества изображений в приложении? Управление памятью находится под контролем, потому что я размещаю большие изображения входы и выходы по мере необходимости, когда пользователь перемещается между страницами в главном UIScrollView.

ответ

1

Вы захотите ознакомиться с образцом кода PhotoScroller. Это мощные большие изображения, и это приведет к сбою вашего приложения с объемом памяти, который они потребляют.

Чтобы перейти на страницу между страницами, это означает, что вы всегда будете загружать 2 изображения. Если вы можете рисовать изображения, я настоятельно рекомендую вам сделать это, что еще больше уменьшит объем памяти.

Имейте в виду, что только потому, что вы можете использовать, скажем, 80 МБ памяти для вашего приложения, не означает, что ВЫ ДОЛЖНЫ использовать это много. Будьте хорошим соседом, ваше приложение будет работать вместе с другими приложениями, которые сами используют память. Постарайтесь уменьшить свой след, насколько это возможно.

+0

Когда я запускаю приложение на устройстве с помощью инструмента производительности и наблюдаю за использованием реальной памяти в мониторе активности, я вижу, что используется 21 Мб. Я jpging эти изображения довольно агрессивно, поэтому размер файла полноразмерных изображений составляет около 250 КБ каждый. – Alpinista

+1

Размер файла не равен размеру памяти. Общий объем памяти только для содержимого фреймбуфера - это разрешение изображения, умноженное на 4 (каналы rgba), независимо от того, сколько у вас сжатий на изображениях. – jer

1

Если вы имеете дело с большим управлением памятью изображения должным образом (путем тайлирования), и ваши клиенты знают о размерах приложения и/или загрузок, то действительно не так много других проблем.

iPad обладает достаточной вычислительной мощностью для обработки этой обработки изображений довольно быстро, но я бы не ожидал, что это будет отлично работать на более старом iPhone.

Во избежание сбоев, я бы вчетверо проверял, что управление памятью работает так, как вы говорите, и что вы определенно не отправляете NSZombieEnabled.

0

На мой взгляд, если вы имеете дело с такими данными, вы должны построить гибридное приложение и разместить все изображения на веб-сервере где-нибудь. Изображение, размер которого может приблизиться к 1 МБ: 1 МБ * 2000 изображений = 2 гигабайта пространства для хранения на потребляемом телефоне.

+0

На самом деле, размеры моих файлов не превышают 250 тыс., Поэтому я буду где-то около .5 ГБ. В веб-приложении не будет необходимой производительности, и для работы потребуется подключение к Интернету или 3G. Кстати, это не потребительское приложение. Он будет использоваться продавцом, продающим оптовым клиентам специализированные iPads, используемые только для этого приложения. – Alpinista

Смежные вопросы