Using correct threads to perform actions
As already mentioned in Chapter 4, HUD and Text Display, AndEngine uses different threads for different actions. This makes sense, because the thread that takes care of drawing entities should not be affected by the thread that registers touches.
The two basic threads are the UI (sometimes called main) and update threads. There are certain actions that must be performed in the correct thread. Actions such as showing a toast, dialog, or any other Android view manipulation must be done in the UI thread. Other actions such as manipulating entities must be done in the update thread.
The most common problem with AndEngine is a crash after detaching an entity when a modifier is finished or detaching an entity after performing a touch. There exist a lot of misconceptions among the people in the AndEngine community about this. You will often hear that the problem is caused by detaching the entity in the wrong thread.
However, that is not true because AndEngine...