Search code examples
androidhardware-acceleration

Hardware acceleration: What happens on pre-Honeycomb devices?


I'm developing an application for Android that supports devices back to Android 2.1 (API Level 7). I'd like to enable hardware acceleration for devices with big screens, because they get a lag in certain situations otherwise. At the same time I have a problem with the memory budget for my application on older devices, because I use a lot of memory for images. I have read here, that enabling hardware acceleration uses 8 MB more RAM.

Hardware accelerated drawing is not all full of win. For example on the PVR drivers of devices like the Nexus S and Galaxy Nexus, simply starting to use OpenGL in a process eats about 8MB of RAM.

As old devices have only 24 MB of RAM per application, this would bring my app into an OutOfMemoryException pretty soon. Newer devices have up to 64 MB per app. So there shouldn't be a problem. My question is now, how hardware acceleration behaves on pre-Honeycomb devices when it's turned on. Does it simply nothing, so don't use the 8 MB RAM? Or does it use this 8 MB RAM anyway, if you have enabled it?

Thanks a lot for your answers.

Cheers Dude


Solution

  • In the meanwhile I have found the answer. It's pretty simple. The android:hardwareAccelerated tag in the android manifest file has been introduced at API level 11. So pre-11 devices cannot understand this tag and therefore they do just nothing.

    Cheers