NOTICE: This content was originally posted to Google+, then imported here. Some formatting may be lost, links may be dead, and images may be missing.
Good news everyone! Over 80% of Android users are now on Ice Cream Sandwich or newer (with 66% on Jelly Bean or newer, and 33% on Jelly Bean MR2 or newer), according to Google Play stats.
This means that Gingerbread is now pretty much dead to me, and new developments will now finally indeed treat it that way.
Where many Ice Cream Sandwich, Jelly Bean and KitKat specifics need a bit of extra code or consideration here and there, you can (usually, there are always edge-cases) support the entire 4.x branch with very little overhead.
Gingerbread on the other hand, does not support many of the APIs you want to use - and even though for some of these APIs support libraries are available, those are not without their own quirks and issues.
As a rule of thumb, a Gingerbread app only had the memory to hold three fullscreen images in memory - factors less than the memory an app has had available since Honeycomb, should it need it. If you're working with high resolution imagery (which several of my apps do) this is absolute hell to support.
The garbage collector also has a lot of influence over performance. Between Gingerbread and Ice Cream Sandwich there have been some significant changes in how the garbage collector works, when it collects, and how it does so. As a result, code that (after some effort) ran GC-interruption-free (needed for high-fps software-decoded image display, for example) on Gingerbread would not do so on Ice Cream Sandwich. While it was not so difficult to also make this happen on the latter, the trick often is to get the same piece of code to behave the same way on both framework versions at the same time - and keeping it so between patches.
There are countless examples of similar cases throughout all my code and apps, where complexity (and frustration) has been added because 2.x, often taking more valuable time than expected.
Of course, it will take (quite) a while for all the 2.x-isms to disappear, and I won't drop 2.x support from apps without reason.
For example, SuperSU still has several million users on Gingerbread, so the overhaul that I've been wanting to do for ages on the UI (mostly internals) will still have to wait some more.
The same with DSLR Controller - a lot of the more quirky things and behaviors are because 2.x, and those will not be taken out unless I have reason to touch those parts of the code.
Still, today is the day I officially stop going out of my way to support Gingerbread. A good day indeed.
Minor typo +Chainfire, it should be "over 80% of Android users *are now on.."*
Maybe it should say are on ice cream sandwich or later
+Chainfire Thanks for the great post. I'm currently working on a backport to Gingerbread of a huge project and indeed it is very time consuming and I got countless OOMs..
+Minas Keshishyan Ouch! Hard to economically justify in many cases as well - but that is food for a different post.
+Johnathon Thompson Yes, this is certainly possible. In fact, if I were to upgrade the minimum API level in a new version of the app, by default, the older version will remain available for users on a device running an older version.
I think its really bad that they don't update the android versions more often. And especially Google. They said that older phones would be able to be updated to at least 4.4 but when released they took a huge dump on everyone. Even on nexus 4 owners.
As much as I wanted pre-4.0 Android versions just die so that developers could completely focus on aesthetics of Holo UI and use the appropriate interface assets like loading spinners and sliders, I realize that it just would not be fair to treat 3.2, 2.3 and 2.2 users that way by just screwing them via dropping support
+Heyno Despotovic What are you on about? The Nexus 4 is currently still supported by Google, and running 4.4.2 officially.
I'm running KitKat on both my devices.
me,in running kitkat4.4.2 build4 slimrom try it,i love slimrom
Réquiem aetérnam dona ei, Dómine,
et lux perpétua lúceat ei.
Requiéscat in pace.
try slim rom for your android its nice..,
The API if the DUI is gsm, while the os configures with the interface.
+ahmed ramzy Try searching XDA forums. If you can't find a solution, post your issue there. They can usually figure out most issues.
Or you can reconfigure the alteration on the user interference log. I personally prefer demodulizing the interference code.
Samsung infuse 4g still running gingerbread..?
I'm sticking with Cupcake!
Running kit kat 4.3 and loving it
- Kevin Miller Wat? There is no KitKat 4.3
I don't run gingerbread. I eat it!
Thank is very much
Elizabeth gade attorney
+Billy Obeltjen Only if you add them all up? Maybe you misread. 80% of Android users are on ICS or better, with 66% of that group running JB or newer, and 33% on JB MR2 or better. The 66% and 33% are subsets...
I have no idea what you are talking about. I've had an android for 2 years.
+Esteve Varela You're seriously saying GB runs more stable than Kitkat? Or faster?
I have had an Android device in hand since the G1. I've run every build put out in between, and upgrade devices when I can no longer get the current version on my device.
I have never had a phone run better than my last phone did on CM11. I'm excited to see if Sony and Tmobile update my Z1s to 4.4 as well.
Google has done nothing but improve the software at each rev. Along with that, I don't think I could make it through a day without Google Now...
Whats the problem with gingerbread ?I have more than one device an older one is on gingerbread and runs fine
Strange topic this of stay in certain version of android. I agree if a device can't handle a new version, but to keep my Note 3 in GB instead of KK for any reason doesn't seem wise.
Of course, an old version can seem "stable" or "fast", but don't forget all the functionabilities that old version is missing.
Esteve, you are missing Google Now Launcher, but if you're a happy user of your device, then avoid the stress of install a new version. Then GB is "stable" and even "fast"... for you.
I just think that Google in every version is adding new functionabilities. I love to check them; that's other way to enjoy a device.
Esteban.. Esteban... or Steve... Steve... wise guy!!!
gb was the best android os ever... however it lacked customisation but still the fastest and the most memory friendly os... phones wid 256mb ram ran gb without a glitch...
So what you mean by "good news everyone", +Chainfire, is actually "good news for over 80% of everyone". :P
Ahahah! Good morning Doctor Putricide, and good to know that your great work continues. Thumbs up for you. ;)
Ok awill buy anather samsung calaxy note 3