ICSvsGB-1

Learn about the technical differences between Gingerbread and ICS [Updated]

Ever thought about how Gingerbread (GB) and Ice Cream Sandwich (ICS) platforms differ on a technical level? In this blog post, we’ll describe some of the technical differences between GB and ICS, and what the differences in the user experience might be. This way you can decide if ICS is right for you, or if you prefer to stay on Gingerbread. Maybe you will prefer the new UI in ICS, or do you give a higher priority to the extreme stability of the Gingerbread platform? Read more after the jump!

Now as you might have seen, we’ve continuously kept you updated on our work with the ICS upgrade, and we started by telling you about what we do to get the latest software release from Google working on our Xperia™ smartphones in the article Ice Cream Sandwich – from source code release to software upgrade. Then we released ICS alpha and ICS beta versions of the coming software upgrade.

However, although ICS is new and compelling in many ways, we would like all of our users to make an informed decision when selecting what Android™ software to use. We are actually proud to say that our Gingerbread software is very stable and has great performance, so it’s not a bad idea to stay on this release. Ice Cream Sandwich is more intensive, for example in terms of resource usage. As smartphones become more capable, our own applications, as well as the Google Mobile Services (GMS) applications, are becoming more advanced, which means that they require more CPU power, run more network activities and use more RAM. On the other hand, ICS brings a refined UI and some nice new features as described below.

Comparison of the look and feel in Gingerbread (left) and Ice Cream Sandwich (right).

New features in ICS
From a UI perspective, ICS is based on a new look and feel, the Holo theme. In order to accommodate the new look of Android, we decided to do an extensive touch up of our own assets, since the graphical assets of the Holo theme cannot be changed in any way as stated in the Android Compatibility Definition Document (CDD). New looks have been added in the platform layer as well as in the application layer. All in all, well over a thousand icons have been modified. In addition, we have deployed new wallpapers and application backgrounds, which harmonise more with the flatter graphical structures of ICS.

In ICS, the activity manager has a completely new UI, where all running apps are shown as thumbnails in a list. To close an activity, you can simply swipe it out of the list. ICS also introduces a face recognition app as a way to unlock the phone, called Face Unlock. Face Unlock uses the front-facing camera and advanced object recognition algorithms. It is included in our ICS upgrade for all phones that have a front-facing camera.

The contact list will show more information about the contacts, including updates from social networks. In the calendar, colour coding has been added and it is now possible to zoom. There is also support for a new type of voicemail that is more visual, offering transcriptions of voice messages.

When it comes to ICS, it’s a major upgrade of Android™, and there are a lot of things that have changed compared to the Gingerbread release. Some of these changes affect the performance and stability of the system, for example by using more CPU power and RAM. ICS was developed with Galaxy Nexus in mind, which is based on a TI platform with dual-core processor and 1GB RAM. We are now adapting ICS to run on our 2011 Xperia™ smartphones, which are all built on a Qualcomm platform with single core and 512 MB RAM. This means that in some cases, the resource usage in ICS is heavier on the system compared to Gingerbread. The following sections identify some key areas where there is a  difference between ICS and Gingerbread.

Increased RAM usage
In general, it can be said that the RAM is the working memory in the phone, used by running processes in contrast to the flash memory, which is mainly used to store things. As you might understand, this is a simplified explanation and might not be entirely true in all cases. However, it can serve as a help to understand the difference between the RAM and the flash memory of the phone. To see how much RAM is currently used, go to Applications in the Settings app of your Xperia™ phone.

Now, let’s look at how the RAM is used. Out of our 512MB RAM, about a third is used for functions that require a dedicated memory slot to operate fast enough. For example, this is the case for certain multimedia functions. The remaining space, which is at least 340MB, is reserved for the Linux user space, as required in the Android Compatibility Definition Document (CDD). Within the Linux user space, functions like the activity manager and Home screen app are running.

Another interesting thing is that many apps use slightly more RAM in ICS. For example, the web browser is quite intensive, and our measurements indicate that it uses 20-30MB more in ICS compared to Gingerbread. All in all, there are a lot of changes that together result in greater RAM requirement.

Illustration of the RAM usage.

When running low on RAM, typically with less than approximately 40MB left, the activity manager will start to close processes according to priority. At first, idle background activities are killed. The last thing to be closed down is the foreground activity. We have described this briefly in the table below. For more information, check out Android developers. (Please note that all figures mentioned about RAM usage are approximations and will differ depending on phone model and use case.)

Table showing different types of processes. When running out of RAM, the activity manager starts shutting down processes from the bottom and up, so that the last things to close are foreground and persistent activities.

Processes that are closed will obviously have to be restarted when the user enters the app again, which takes time and slows the system down. For example, when running a heavy game that uses all available RAM, the activity manager will be forced to kill all processes running in the background. This might include vital functions like the dialler and even the Home screen application. When you exit your game, there is a risk that the phone is perceived as slow, since the Home screen app will have to be restarted, just like every other activity you access afterwards.

Slower interaction with the SQL database
Another change in ICS compared to Gingerbread is that Google has moved a lot of the SQL handling from the native to the Java layer. In our internal studies, we have seen that read and write operations to the SQL database takes longer time, which slows down the apps. Many applications perform a lot of SQL operations when started, which greatly impacts the start-up time.

According to good practice, database operations or http requests should not be performed in the main thread. However, we know that there are quite a few applications that perform these kinds of operations directly in the main thread, which might cause them to hold up other operations. Also, when reading feedback on ICS software out on the market now, we’ve seen comments about people having problems with some applications and games.

If an operation takes too long, there is a risk of getting an Application Not Responding (ANR) as a result. An ANR occurs when an application doesn’t answer an intent, or responds to an input event, within a certain time limit. In case of intent, the time out is set to five seconds. For the input event, such as screen touch or button click, it’s ten seconds.

This can result in a user experience that is perceived as slower and less stable, due to longer response times and increased ANRs.

Introducing full hardware acceleration
Yet another change in ICS, is that the graphics hardware acceleration is on by default for all apps from API level 14. For apps at lower API levels, it can be turned on in the manifest with the attribute android:hardwareAccelerated=”true”. Hardware acceleration means that the GPU is used to render graphics, which enables a smooth user interface. However, it also results in at need to load additional graphic libraries for certain apps, which makes them use even more RAM.

When we performed internal tests on our applications, we saw that the Settings app consumed 1-2MB more RAM, and actually took longer time to start with HW acceleration, compared to without. Once the app is running, the UI is HW accelerated, but unless the app performs advanced graphics, the user will not see the difference.

Another effect of the hardware acceleration is that it can make the battery drain faster in some cases. An example of this is video playback, where the hardware acceleration requires every video frame to be run through the GPU, thus making the system use more power than it would have without HW acceleration.

As a developer, you should therefore evaluate if HW acceleration is required or not, as it comes with a cost in terms of RAM usage, start-up time and possibly even battery duration which can have negative effects on the user experience. You can read more about hardware acceleration in Ice Cream Sandwich on the Android Developers blog.

So, what will be your platform of choice? We hope this article clarifies some of the aspects to consider when making the decision. As always, we are eager to hear your opinion, so drop us a comment below and let us know! For more details on timing and practicalities on the ICS upgrade, check out this latest post on the Sony Xperia™ Product Blog.

Updated – comment from the Developer World team:

We we would like to clarify that above mentioned “challenges” have already been addressed by our SW engineering teams. For instance, we have not only optimised the RAM management by making the RAM usage for internal apps as good as possible, but we will also introduce a Performance assistant at start up when running ICS. In this Performance assistant, you can enable and disable certain services that you might not want to run on your phone, in order to optimise the performance of your phone.

We have also worked with quite a few partners in regards to architecture optimisations for SQL handling. In addition, we have also optimised the hardware usage. And as a result of this article, a number of app developers have notified us that they are evaluating if HW optimisation will be needed or not for their apps.

The aim of this article was to share our knowledge regarding the different characteristics for ICS and Gingerbread in an open way, as we strive to have an open communication with the developer community. All in all, we would like to point out that it’s our clear aim to deliver an as good ICS update as ever possible. As you might have seen on the Sony Xperia Product Blog, we’re not far from releasing it now. Thanks for all the feedback!

More information

Comments 477

Sort by: Newest | Oldest | Most popular

  1. Pingback #1

    [...] to wait for so long, I do comment Sony for being very transparent about the process. Check out this developer blog which spells out the technical differences between ICS and Android [...]

  2. By Андрей Жданов

    #2

    In that case explain, why SONY not to develop as alternative of ICS – Gingerbread 2.3.7.
    After all it is the last from versions as far as I know. I very much would like to see 2.3.7 from SONY on the Xperia neo?

  3. Pingback #3

    [...] escenarios Ice Cream Sandwich no funcionara tan fluido como Gingerbread, asi que prepararon este post por si te interesas en conocer por qué esto [...]

  4. Pingback #4

    [...] to wait for so long, I do comment Sony for being very transparent about the process. Check out this developer blog which spells out the technical differences between ICS and Android [...]

  5. By Akmalzaman Shaharuddin

    #5

    geezzz..looks like I’m just wasting my money when I heard about they gonna update it to ICS…..they are like very confident and sure it’s gonna be a success over other brands.now it’s look like my Xperia Arc S also useless and not special at all.It is my 1st reason of buying this phone to have ICS works perfectly on it.but now,with the ‘delay’ and also not so sure of what might happen to the device after ICS is roll out,I guess this will be my last commitment for SONY after 8 years of using and supporting their devices. Thanks-a-lot T__T

    • By Karl-Johan Dahlström

      #6

      See for release details of ICS upgrade.

  6. By junin romualdo

    #7

    If the ICS consumes lots of RAM, why not enable a swap partition to use it in internal memory, as we have already seen how some mb that are not used. Then they could use it to swap, as we know it will relieve a little RAM. They could also delete some applications of the system to increase the internal memory, delete those that can be downloaded by Play google.

    Se o ICS consome muita memória RAM, porque não habilitar uma partição swap para utilizá-lo na memória interna, pois já como visto temos alguns mb que não são usados. Então poderiam utilizá-la para o swap, como nós sabemos que irá desafogar um pouco a memória RAM. Poderiam também excluir alguns aplicativos do sistema para aumentar a memoria interna, excluir aqueles que podem ser baixados pelo Play google.

  7. By Mohammed Alsultan

    #8

    if you’re not recommending this upgrade then why don’t you just cancel the whole thing?!
    you can still bring new updates with new features rather than this incompatible system.

    I tried incompatible systems on y old PC and it showed horrible experience.
    you made a very bad mistake when you made phones with the minimum hardware requirements for GB

    here are some features you can add as updates:
    - Proxy settings for Wi/Fi
    - System Fonts Options(like size, font, and style) …. maybe give the user an option to add new fonts
    - better contacts app
    - new look
    - more camera features
    - better Music player
    - better Video player

    and so much more

  8. By Yeamin Aunique

    #9

    Well I must say that i am little bit of disappointed. Since SONY is a big name!!!

    Can u guys confirm a Gingerbread update like 2.3.7 for ARC S?

    But you have to make sure that it is bug free and much more stable than the current GB 2.3.4

    And please do not claim that your current GB is a stable one. It’s awful during multitasking.

    Finally I am still with SONY and expecting something good from you guys.

  9. Pingback #10

    [...] is not an unlikely scenario. Sony see's the value in a well informed customer and has even set up a developer page explaining all the new features that ICS will bring. Looking at the care they are going about to [...]

  10. Pingback #11

    [...] The Sony blog had this further to say about the forthcoming update: The latest version of Android 4.0 is a very powerful OS, brimming with new features and functionality, but it also requires more resource from your smartphone and this may impact performance in some user scenarios. To ensure it’s suitable, and performs for your individual needs, my friends at Developer World have taken a closer-look at how Ice Cream Sandwich will change your 2011 Xperia smartphone – check it out here. [...]

  11. Pingback #12

    [...] The latest version of Android 4.0 is a very powerful OS, brimming with new features and functionality, but it also requires more resource from your smartphone and this may impact performance in some user scenarios. To ensure it’s suitable, and performs for your individual needs, our friends at Developer World have taken a closer-look at how Ice Cream Sandwich will change your 2011 Xperia smartphone – check it out here. [...]

  12. By Bin Zhou

    #13

    This post tells us:
    1. Excuses for delay ics update;
    2. Ics runs really bad on 2011 xperia, but works well on other brands phone;
    3. No more further update for 2011 xperia(same excuse: 2011 xperia have no enough memory.);
    4. DO NOT buy 2012 xperia especially U and Sola(same reason: even 2012 xperia have no enought memory).
    5. They will lose more market share and fire more people(wonder why? Our phone have no enough memory!).
    X10 and Arc S owner :P

  13. By Erkan Erkan

    #14

    I just bought an Xperia Kyno V (Neo V) because Sony said that ICS will available soon. Maybe 512MB of RAM is enough if we didn’t have a lot of pre-installed applications running on memory? Presently on GB we have too many pre-installed applications: Video unlimited (4MB), Timescape (2MB)…and we can’t stop it or uninstall it! For the moment I used 201MB of memory and 89MB are free. And what about Cyanogenmod 9? maybe their work on some optimizations of ICS?

    • By Erkan Erkan

      #15

      One more thing: please don’t provide an ICS upgrade if this upgrade are slow, unstable and battery consuming. I bought 270€ – 50€ this Xperia Neo/Kyno V because it’s was more stable that my old Samsung Gio, so I don’t want to change my smartphone again… If stable ICS upgrade is too complicated, also provide an improvement of the GB ROM (for user who want stability) by removing some pre-installed apps for example.

      Thanks Sony for listening Xperia users! :)

      • By Karl-Johan Dahlström

        #16

        Thanks for your comment, see for release details. One part of the post explains how the update will roll out: “we’ll only be making it available for download via PC Companion and Bridge for Mac (i.e. not over the air via 3G or WiFi), and you also won’t receive any update requests or notifications.”

    • By Erkan Erkan

      #17

      And please why did you modify the UI of ICS and spent time for this? (battery bar, icon, …) Personnaly I prefer the original theme of ICS.

      “[...]From a UI perspective, ICS is based on a new look and feel, the Holo theme. In order to accommodate the new look of Android, we decided to do an extensive touch up of our own assets[...]“

    • By Grzwierz Grzwegorz

      #18

      My thoughts exacly. Now, I understand that newer OS will use more resources. Its natural. So if Sony Developers learned that 512MB RAM might be not enough for ICS they should work to make it lighter. Just dont put in cr@pware like facebook, timescape etc. or at least allow users to uninstall it.

      • By Karl-Johan Dahlström

        #19

        See update of post above, we have optimised a lot when it comes to RAM usage. Also added a Performance assistant at start up so users can choose to enable/disable certain services.

  14. Pingback #20

    [...] has posted the technical differences between Gingerbread and ICS. Do have a look here http://developer.sonymobile.com/wp/2012/03/30/learn-about-the-technical-differences-between-gingerbr… Rate this: Like this:LikeBe the first to like this [...]

  15. Pingback #21

    [...] [...]

Show more comments

1-21 of 477 comments. Show all comments