Book Image

The Android Game Developer's Handbook

By : Avisekhar Roy
Book Image

The Android Game Developer's Handbook

By: Avisekhar Roy

Overview of this book

Gaming in android is an already established market and growing each day. Previously games were made for specific platforms, but this is the time of cross platform gaming with social connectivity. It requires vision of polishing, design and must follow user behavior. This book would help developers to predict and create scopes of improvement according to user behavior. You will begin with the guidelines and rules of game development on the Android platform followed by a brief description about the current variants of Android devices available. Next you will walk through the various tools available to develop any Android games and learn how to choose the most appropriate tools for a specific purpose. You will then learn JAVA game coding standard and style upon the Android SDK. Later, you would focus on creation, maintenance of Game Loop using Android SDK, common mistakes in game development and the solutions to avoid them to improve performance. We will deep dive into Shaders and learn how to optimize memory and performance for an Android Game before moving on to another important topic, testing and debugging Android Games followed by an overview about Virtual Reality and how to integrate them into Android games. Want to program a different way? Inside you’ll also learn Android game Development using C++ and OpenGL. Finally you would walk through the required tools to polish and finalize the game and possible integration of any third party tools or SDKs in order to monetize your game when it’s one the market!
Table of Contents (20 chapters)
The Android Game Developer's Handbook
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Memory management in Android


Let's discuss the memory management system in Android. It has a direct effect on the game development process. Games are treated like applications in Android. Very often, developers face memory issues in both the runtime and minimized states of the game. There are three main topics to discuss to understand the working principles:

  • Shared application memory

  • Memory allocation and deallocation

  • Application memory distribution

Shared application memory

Android uses the Linux kernel, and Linux uses "shared" pages to share the same memory segment within running processes or services. For example, Android often shares the "code" memory within processes. Very often, external libraries and JVM's executable code memory can be safely shared across processes without creating a deadlock. Data pages could be shared temporarily between processes, until a process modifies the shared memory.

Android allocates dedicated memory for each application or process. This is called private memory...