Best practices
With the threading concepts in mind, let's go through the code to understand how Google has improved the multithreading framework inherited from Java and which API the Android platform provides to the developer to deal with the main problem of separation between UI thread and worker threads. We will also see what problems may derive from this and which solutions Android introduced during its development.
We will then deal with advanced techniques to manage main components and the AIDL and messenger for inter-process communications.
Threads
The standard Java threads are the base for the other frameworks we will see in the following pages. They wrap threads or runnables to achieve some platform requirements like the communication with the UI thread. They are still the lightweight solution for brief background operations that don't need to be notified to the UI thread.
Tip
As a general rule to observe, when using threads, avoid the synchronization inside loops because acquiring and...