Book Image

Android High Performance Programming

By : Emil Atanasov, Enrique López Mañas, Diego Grancini
Book Image

Android High Performance Programming

By: Emil Atanasov, Enrique López Mañas, Diego Grancini

Overview of this book

Performant applications are one of the key drivers of success in the mobile world. Users may abandon an app if it runs slowly. Learning how to build applications that balance speed and performance with functionality and UX can be a challenge; however, it's now more important than ever to get that balance right. Android High Performance will start you thinking about how to wring the most from any hardware your app is installed on, so you can increase your reach and engagement. The book begins by providing an introduction to state–of-the-art Android techniques and the importance of performance in an Android application. Then, we will explain the Android SDK tools regularly used to debug and profile Android applications. We will also learn about some advanced topics such as building layouts, multithreading, networking, and security. Battery life is one of the biggest bottlenecks in applications; and this book will show typical examples of code that exhausts battery life, how to prevent this, and how to measure battery consumption from an application in every kind of situation to ensure your apps don’t drain more than they should. This book explains techniques for building optimized and efficient systems that do not drain the battery, cause memory leaks, or slow down with time.
Table of Contents (17 chapters)
Android High Performance Programming
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Preface
Index

Heap analysis and visualization


We have learned how to debug threads using DDMS. Now we will learn how to properly analyze the memory heap of an application: that is, the portion of memory where the allocated memory resides. This is very important when it comes to debugging memory leaks.

Let's use a heap dump to track down the problem. Click the icon to dump the HPROF file and choose where you want to save the file. Now run hprof-conv over the file. hprof-conv is an Android utility that converts the .hprof file from the Dalvik format to the J2SE HPROF format, so it can be opened with standard tools. It can be found under /platform-tools. To run it, you need to type the following:

hprof-conv dump.hprof converted-dump.hprof

Now you will have a file that can be understood by some standard tools. In order to read the file, we will use MAT, a standalone version downloadable from http://www.eclipse.org/mat/downloads.php.

MAT is a very complex and powerful tool. Click on File and open Heap Dump...