“Performant applications are one of the key drivers of success in the mobile world.” What does it take to create a highly performant Android app? On 23rd February, Enrique López Mañas will be talking at Voxxed Days Zurich about high performance in Android. We interviewed him to see what we can learn about performance.


Is it ever ok to compromise on performance for UX? Do you have to compromise?

If you are compromising performance on UX, you have the wrong UX. A UX that is not performant will happen in old devices and this is a law of nature, but if this is happening through the entire set of Android devices you might want to rethink your UX. The Android OS is robust enough to support an adequate usage of resources.

You mention that battery is one of the biggest bottlenecks. What are the biggest mistakes you’ve seen in applications that drain battery life?

As a consultant I have the opportunity to see the code of many different companies. All of the problems leading to a battery drain I have found so far are avoidable, and they do have many different causes. However, when it comes to High Performance we want to learn techniques that are a little bit more advanced. I am particularly thinking of network strategies such as latency gauging, queueing connections, pre-fetching data, selective caching, exponential back-off… these techniques well applied can make a big difference to the final user experience, and I have barely seen them implemented.

What are the most useful tools or techniques for measuring performance in Android?

The Android SDK provides a good set of tools to debug and check if the application presents any bottlenecks in memory, battery or network usage. I talk about this in my book, and there are a ton of resources on the Internet regarding this. If you haven’t, start reading the documentation on all the Debugging Tools for Android today, and particularly ‘trace view’. There are a few commercial tools, but they only serve for very particular purposes. If you really need these tools, you already know their name.

What can developers expect to learn in your talk on high performance in Android? Do they need to be performance experts to attend?

The talk will be a walkthrough through several aspects of High Performance in Android applications. Time is always a constraint in this kind of talk, but we will touch upon the main aspects of High Performance: UX, Debugging, Memory, Battery, Threading and Networking. An attendee does not need to be an expert in High Performance, but they do need to feel comfortable with most of the aspects in Android Development. “Before start mastering something, learn the basics.”


For the full performance walkthrough, join us at Voxxed Days Zurich on the 23rd February.