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

Doze feature and App Standby


Android 6.0 Marshmallow (API Version 23) introduced for the first time two kick-ass features to save battery levels on our devices: Doze and App Standby. The first one reduces battery consumption when a device has not been used for a long time, and the last one does the equivalent for network requests when a particular app has not been used for a long time.

Understanding Doze

Doze mode is activated by default in devices with an API bigger than level 23. When the device is left unplugged and without activity for a period of time, it will then enter into Doze mode. Entering into Doze mode has some significant consequences for your device:

  • There will be no network operations from your device, with the exception of receiving a high priority message from Google Cloud Messaging (GCM)

  • WakeLocks will be ignored

  • Alarm schedules with the class AlarmManager will be ignored

  • No Wi-Fi scans will be performed from your application

  • No Sync Adapters or Job Schedulers will be allowed...