Book Image

Building Android UIs with Custom Views

By : Raimon Ràfols Montane
Book Image

Building Android UIs with Custom Views

By: Raimon Ràfols Montane

Overview of this book

To build great user interfaces for your Android apps that go beyond the standard UI elements, you need to use custom Android views. With these, you can give your app a distinctive look and ensure that it functions properly across multiple devices. This book will help you construct a great UI for your apps by teaching you how to create custom Android views. You will start by creating your first Android custom view and go through the design considerations. You will then see how the right choices will enable your custom view to perform seamlessly across multiple platforms and Android versions. You will create custom styleable attributes that work with Android XML layouts, learn to process touch events, define custom attributes, and add properties and events to them. By the end of this book, you will be able to create apps with custom views that are responsive and adaptable to make your app distinctive and an instant hit with its users.
Table of Contents (12 chapters)

Performance Considerations

In the previous chapters, we have been talking briefly about performance and, for example, avoiding doing some operations using the onDraw() method. But we haven't covered in detail why you should follow these recommendations and what the real impact of not following these best practices is to the custom view and to the application using it. Many of the things we will explain here might seem common sense, and indeed they should be, but sometimes we might not think about them, or we may not know or be aware of the real impact that it might have on the application, both from a performance point of view and regarding battery consumption.

In this chapter, we will address these points and we will look at the following topics in more detail:

  • Recommendations and best practices
  • The impact on the app when performance is not taken into account
  • Code optimizations...