Hardware Acceleration in Android - Are You Using It?
Did you know Android has Hardware Acceleration? Did you also know you actually need to enable it for your app first? Suprisingly you do! It's not defaulted to on. Here's another little gem in Android that could have a major impact on your application.
If you allow your
app to run on Android versions above 3.0, you should probably enable
Hardware Acceleration. By enabling Hardware Acceleration, the
performance of your application's UI may improve considerably. To enable
Hardware Acceleration on an application, simply add the android:hardwareAcceleratedtag to the manifest file.
After adding that
tag to the application element, simply recompile and test your app. It
is very important to fully test your app after you add this line.
Although it's unlikely that Hardware Acceleration will negatively affect
your app, it is certainly possible. It is a good idea to make sure all
of the views and animations still work as you expect it to.
If you find that
certain screens seem to have problems with Hardware Acceleration, you
can disable it on a per Activity basis if needed as well. To do so,
simply add the tag (set to false) to the activity tag within the
manifest. This allows you to enable Hardware Acceleration for the entire
application while removing it for certain parts. And this also works in
the reverse. You can enable only specific Activities while leaving it
off for the majority of the application.
One other
interesting feature in the IO Session (linked below) is the concept of a
View Layer. By using this new Layer method, you are able to use the GPU
within the device to speed up animations (IE ListView scrolling). Check
out View.setLayerType for some more information.
For
more details about Hardware Acceleration--and really some interesting
information on how views are actually drawn in Android--check out this Google IO Session. And like most things Android-related, Google has a detailed page here on Hardware Acceleration.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)





