Потребление памяти изображениями в веб-приложении iOS

У меня есть веб-приложение для iPad (журнала), которое отображает набор изображений среднего размера (~ 500 КБ). Они отображаются по одному на просмотр (1024x768), а при смахивании отображается еще один.

У меня есть три изображения (предыдущее, текущее и следующее) как display:block одновременно, в то время как другие изображения скрыты с display:none.

Все работает нормально в какой-то степени. Однако, когда приложение работает в течение некоторого времени и отображается больший набор (20+) изображений, приложение вылетает, в основном на iPad 1. Я предполагаю, что это как-то связано с потреблением памяти устройства.

Мой вопрос: каковы наилучшие методы, чтобы потребление памяти было как можно меньше? Очевидно, что установка изображений для отображения: ни один не работает. Должен ли я удалить изображения из DOM, а затем повторно применить их при появлении в поле зрения? Или есть другие простые приемы, чтобы предотвратить сбой приложения?


person Samuli Hakoniemi    schedule 21.03.2012    source источник


Ответы (1)


Существует подход, при котором вы должны установить источник изображения в пустую строку перед удалением элемента для DOM: http://blog.thinkingtype.com/2012/07/ios-mobile-web-application-image-memory.html

Таким образом, в вашем случае вы можете сохранить источник в атрибуте данных элемента изображения, когда вы установите для отображения значение none, и снова установите источник, когда вы сделаете изображение видимым при настройке отображения для блокировки.

person Andreas Köberle    schedule 07.12.2012
comment
Большое спасибо, ссылка и ваш ответ содержат точную информацию, которая мне нужна. - person Samuli Hakoniemi; 07.12.2012