> For the complete documentation index, see [llms.txt](https://se4ma.gitbook.io/book/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://se4ma.gitbook.io/book/chapter11.md).

# Chapter 11: The jewel in the crown: Performance

(By Mario Linares-Vásquez)

<img src="/files/0o9EapYKV7sY3uXoERHO" alt="" width="100%">

*(Free image by Xuan Nguyen on* [*Unsplash*](https://unsplash.com/photos/KcWIsfbBfa4)*)*

***

The image by Xuan Nguyen captures a moment in a play (maybe a drama or a contemporary dance one) in which one of the characters shows its skills jumping on the stage (with style). The individual performance is everything for an actor or a dancer; but the success of the play also depends on the performance of all the components as a whole system. All the components should interact together (i.e., the actors, the musicians, etc.) smoothly, with aesthetics, and in a coordinated way for the amusement of the public.

Similarly to a play, a mobile app is a set of different components that interact together in order to provide users with beloved features that would make their life easier. However, there are several constraints that could be show stoppers and prevent the app for having a good performance... on the stage.

This chapter is about the performance bugs that are common in mobile apps. Performance matter\`s a lot in mobile apps because the operating system, the devices, and the programming models impose several constraints on the apps, in terms of how the computing hardware resources can (and should) be used. Mobile apps are unique in terms of the scenarios and resources constraints that can directly impact apps' performance. Therefore, knowing typical performance bugs and the strategies to deal with them, is a MUST in mobile software engineer toolbox. Start reading the section and learn about GUI lags, ANRs and OOMs.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://se4ma.gitbook.io/book/chapter11.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
