How Android Chrome scales down icons

TL; DR

Android Chrome behaves almost like iOS: it scales down the icons correctly when it cannot find an icon that exactly matches its screen, producing excellent results using an algorithm similar to Blackman or Lanczos. Just mind special icons, such as pixel art icons that need a particular kind of algorithm such as Nearest Neighbor. But even in that case, Android Chrome offers a decent result.

The problem

The issue all explained here. Plus it's always a concern when you try to reduce the amount of icons.

The test

I made a test with my old Galaxy S5. When Android Chrome is given a manifest declaring all documents icons for homescreen and splashscreen (9 icons, ranging from 36x36 to 512x512), it takes the 144x144 icon for the home screen and 384x384 icon for the splashscreen. Which is a good thing: as it is suggested to declare only two 192x192 and 512x512 icons, the Galaxy S5 is a good candidate to check the scale down in a real life situation.

For this test, I used this sample 512x512 icon and declared it, alone, in a manifest:

Android Chrome original 512x512 icon

Here is what my Galaxy does with it:

Added to home screen : the icon is now 144x144

Splash screen, the image is now 384x384

In both cases, we can see that the results are great (despite of my suboptimal choice of theme and background colors).

As for iOS, I couldn't find an exact match with any of the 40 algorithms provided by ImageMagick. The closest ones are Blackman, then Lanczos.

Visually, I can't see any difference between what Chrome creates and the 512x512 icon resized to 144x144 by ImageMagick with Blackman and Lanczos:

visual_comparison-300x114.png

What about a pixel-art icon, one that shouldn't be interpolated?

512x512, pixel art icon

It's okay, really:

A pixel art icon added to home screen

Pixel art icon splashscreen

As with iOS, you can spot differences between what you get and what you could expect by providing the icon with the right size (eg. 384x384 for splashscreen and my Galaxy S5) and scaled with the right algorithm (eg. Nearest Neighbor). But it's no big deal.