Мащабирането на уеб браузър на Android работи по-ефективно за изображения, отколкото за спрайтове

Разработвам мобилно уеб приложение и имам начален екран с няколко икони на него, така че се опитах да използвам спрайт, за да обслужвам всички изображения с един замах.

Забелязах обаче, че iphone4 мащабира изображенията в моя спрайт доста добре (изглеждаха малко разсеяни), но на моя HTC Evo изображенията, изобразени на спрайт, изглеждат наистина блокирани. Преминах към стандартни изображения (фон:(/image_url/) без фонова позиция) и изображението изглеждаше много по-добре - вижте това 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 байта (около 8M) на устройства с голяма памет (›256M) и 2*1024*1024 байта (около 2M) на устройства с ниска памет. Обърнете внимание, че това е декомпресираният размер, който можете да определите приблизително, като запазите изходните си изображения като растерни изображения и проверите размера на файла. - person tad; 18.06.2011
comment
@tad Благодаря отново за последващия ви коментар с указателя към src файла на webkit, където се използва този c макрос - спести ми купища време в търсене наоколо, опитвайки се да поправя това. - person Maks; 31.03.2013

Това е само предположение, но кой използвате? Вашият оператор или wifi връзка? Някои оператори компресират изображения над определен размер.

person nLL    schedule 20.10.2010
comment
Това е добро предположение, но използвах моята wifi връзка, за да сваля изображенията. - person Simon; 21.10.2010