Interesting Tidbits from the Latest Device Dashboards
I don’t normally comment on the creeping changes in the Android ecosytem illustrated by the device dashboards, but I did want to point out a few things that I found interesting, or that you might be forgetting.
On the forgetting front, please remember that these dashboards only reflect devices accessing the Play Store. Devices that do not have the Play Store will not show up. Notably, this will include popular devices like the Kindle Fire series. If you are only distributing through the Play Store, the dashboards should be a solid picture. If you are distributing through other channels, though, take into account that those other channels may get you to devices that are not reflected in the dashboards.
This month probably is the last one for Android 1.x, as Android 1.6
is down to 0.1%, the threshold of irrelevance from the dashboard
perspective. By this point in time, even if you are trying to maintain
compatibility with Android 1.6, you should no longer be limiting
your app to only 1.6 features. Set your build target and
android:targetSdkVersion to be something newer, and using Java
version guards (using
Build.VERSION.SDK_INT) and Lint warnings
to opt into newer capabilities. IOW, don’t let backwards compatibility
be the albatross around your neck.
(not to mention that decaying albatrosses probably start to stink)
The Gingerbread decline continues apace. I expect that it will fall to 15% or lower by the end of 2013, despite the fact that Gingerbread devices are still made and sold. Frankly, I am expecting OEMs that are still shipping Gingerbread to cast a long look at Firefox OS as an alternative to Android, if they determine that Gingerbread has gotten stale, yet they feel that they cannot offer low-end ICS or higher devices.
What surprised me the most, though, was that
xxhdpi devices are already
up to 1.3%. These will be your SONY Xperia Z, Droid DNA, and similar
1080p handsets. Many apps will not need to worry immediately about this,
xhdpi assets will be upsampled and will work. The apps that really
need to ponder this, plus the 1.0%
tvdpi tablets (presumably all
Nexus 7’s), will be those using
<compatible-screens> to try to
block their app from larger-screen devices. If you do not include
support for all densities, you will be blocked from the missing densities
as well. Alas, there is a bug in manifest parsing
that may preclude you from using
xxhdpi as symbols,
forcing you to use numeric equivalents (e.g., 480 for
an alternative. Or, get your app’s large-screen support up to snuff
and get rid of
Learn second-generation Android app development — with Kotlin and the Android Jetpack — through CommonsWare’s Android app development training!