Android High Performance Programming

Build fast and efficient Android apps that run as reliably as clockwork in a multi-device world

Android High Performance Programming

Mastering
Enrique López Mañas, Diego Grancini

1 customer reviews
Build fast and efficient Android apps that run as reliably as clockwork in a multi-device world
$39.99
$49.99
RRP $39.99
RRP $49.99
eBook
Print + eBook

Instantly access this course right now and get the skills you need in 2016

With unlimited access to a constantly growing library of over 3,500 courses, a subscription to Mapt gives you everything you need to get that next promotion or to land that dream job. Cancel anytime.

+ Collection

Book Details

ISBN 139781785288951
Paperback412 pages

Book Description

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

Chapter 1: Introduction: Why High Performance?
Why does the performance of an application mean so much to so many?
Manual testing and automatic testing
ANR and delays in software
Android architecture
Dalvik Virtual Machine
Memory management
Energy consumption
Java language
Native Development Kit or how to develop with native code when needed
Three limits in application responsiveness
Business value of software quality
Summary
Chapter 2: Efficient Debugging
Android Debug Bridge
Dalvik Debug Monitor Server
Capturing and analyzing thread information
Heap analysis and visualization
Allocation tracker
Network usage
Emulator Control
System status
Debugging the UI
Profiling with Hierarchy Viewer
Systrace
Android device debug options
Android Instant Run
GPU profiler
Running a trace
ClassyShark
Getting started
Summary
Chapter 3: Building Layouts
Walkthrough
Best practices
Debugging tools
Summary
Chapter 4: Memory
Walkthrough
Best practices
Debugging tools
Summary
Chapter 5: Multithreading
Walkthrough
Best practices
Debugging tools
Summary
Chapter 6: Networking
Walkthrough
Best practices
Debugging tools
Summary
Chapter 7: Security
WhatsApp – the eternal showcase of "no-gos"
Going deeper into the code
Capturing an APK file
Autopsy of an APK file
Code injection
Insecure storage
Encrypted communication
Summary
Chapter 8: Optimizing Battery Consumption
Analysis
Doze feature and App Standby
Avoiding useless network requests
Dealing with BroadcastReceivers on demand
Networking
Summary
Chapter 9: Native Coding in Android
Getting started – setting up NDK in our system
JNI
Initial concepts
Creating our first HelloWorld-JNI
Creating a native activity with Android NDK
Debugging NDK
Android.mk
More variables in NDK
NDK macros
Application.mk
Including existing libraries
Exporting header files
Summary
Chapter 10: Performance Tips
Bitmaps
Image optimization
Serialization
Code improvements
Java 8 in Android N
APK optimizations
Summary

What You Will Learn

  • Create Android applications that squeeze the most from the limited resource capacity of devices
  • Swap code that isn’t performing
  • Efficient memory management by identifying problems such as leaks
  • Reap the benefits of multithreaded and asynchronous programming
  • Maximize the security and encryption mechanisms natively provided by Android 
  • Perform efficient network operations and techniques to retrieve data from servers
  • Master the NDK to write native code that can perform faster operations

Authors

Table of Contents

Chapter 1: Introduction: Why High Performance?
Why does the performance of an application mean so much to so many?
Manual testing and automatic testing
ANR and delays in software
Android architecture
Dalvik Virtual Machine
Memory management
Energy consumption
Java language
Native Development Kit or how to develop with native code when needed
Three limits in application responsiveness
Business value of software quality
Summary
Chapter 2: Efficient Debugging
Android Debug Bridge
Dalvik Debug Monitor Server
Capturing and analyzing thread information
Heap analysis and visualization
Allocation tracker
Network usage
Emulator Control
System status
Debugging the UI
Profiling with Hierarchy Viewer
Systrace
Android device debug options
Android Instant Run
GPU profiler
Running a trace
ClassyShark
Getting started
Summary
Chapter 3: Building Layouts
Walkthrough
Best practices
Debugging tools
Summary
Chapter 4: Memory
Walkthrough
Best practices
Debugging tools
Summary
Chapter 5: Multithreading
Walkthrough
Best practices
Debugging tools
Summary
Chapter 6: Networking
Walkthrough
Best practices
Debugging tools
Summary
Chapter 7: Security
WhatsApp – the eternal showcase of "no-gos"
Going deeper into the code
Capturing an APK file
Autopsy of an APK file
Code injection
Insecure storage
Encrypted communication
Summary
Chapter 8: Optimizing Battery Consumption
Analysis
Doze feature and App Standby
Avoiding useless network requests
Dealing with BroadcastReceivers on demand
Networking
Summary
Chapter 9: Native Coding in Android
Getting started – setting up NDK in our system
JNI
Initial concepts
Creating our first HelloWorld-JNI
Creating a native activity with Android NDK
Debugging NDK
Android.mk
More variables in NDK
NDK macros
Application.mk
Including existing libraries
Exporting header files
Summary
Chapter 10: Performance Tips
Bitmaps
Image optimization
Serialization
Code improvements
Java 8 in Android N
APK optimizations
Summary

Book Details

ISBN 139781785288951
Paperback412 pages
Read More
From 1 reviews

Read More Reviews

Recommended for You

Learning Android Game Development
$ 35.99
Instant Android Fragmentation Management How-to
$ 12.99
Learning Unreal Engine Android Game Development
$ 35.99
Android 3.0 Application Development Cookbook
$ 26.99