Масштабирование веб-браузера Android работает более эффективно для изображений, чем для спрайтов

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

Однако я заметил, что iphone4 довольно хорошо масштабировал изображения в моем спрайте (они выглядели немного размытыми), но на моем HTC Evo изображения, обработанные спрайтом, выглядят действительно блочными. Я переключился на стандартные изображения (background:(/image_url/) без background-position), и изображение выглядело намного лучше - см. это screen shot, где левое изображение обслуживается с помощью одного изображения, а изображения справа от него обслуживаются из спрайта (но это те же изображения в спрайте).

Есть ли способ заставить браузер Android лучше интерпретировать спрайты?


person Simon    schedule 19.10.2010    source источник


Ответы (2)


Вы преодолели барьер максимального размера декодированного изображения в браузере Android. Этот предел размера был увеличен до разумного уровня в версии 2.3. Попробуйте разделить ваши спрайты на более мелкие изображения.

person tad    schedule 27.04.2011
comment
Интересно, а вы знаете, какой у Froyo максимальный размер? Это не зависит от устройства, не так ли? - person Simon; 28.04.2011
comment
Я просмотрел соответствующий исходный код здесь: sephidev.net /external/webkit/WebCore/platform/graphics/android/ . Ограничение по размеру составляет 8*1024*1024 байта (около 8 МБ) на устройствах с большой памятью (>256 МБ) и 2*1024*1024 байта (около 2 МБ) на устройствах с малой памятью. Обратите внимание, что это распакованный размер, который вы можете приблизительно определить, сохранив исходные изображения в виде растровых изображений и проверив размер файла. - person tad; 18.06.2011
comment
@tad Еще раз спасибо за ваш последующий комментарий с указателем на файл src webkit, где используется этот макрос c - сэкономил мне кучу времени на поиски, пытаясь это исправить. - person Maks; 31.03.2013

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

person nLL    schedule 20.10.2010
comment
Это хорошее предположение, но я использовал свое Wi-Fi-соединение для загрузки изображений. - person Simon; 21.10.2010