 <p><code>AsyncTask</code> enables proper and easy use of the UI thread. This class allows to perform background operations and publish results on the UI thread without having to manipulate threads and/or handlers.</p> <p><code>AsyncTask</code> is designed to be a helper class around <code>Thread</code> and <code>Handler</code> and does not constitute a generic threading framework. <code>AsyncTask</code>s should ideally be used for short operations (a few seconds at the most).</p> <p><em>WARNING</em> : <strong>The AsyncTask has an implicit reference to the enclosing Activity</strong>. If a configuration change happens the Activity instance that started the AsyncTask would be destroyed, but not GCd until the AsyncTask finishes. Since Activities are heavy this could lead to memory issues if several AsyncTasks are started. Another issue is that the result of the AsyncTask could be lost, if it's intended to act on the state of the Activity. Replace the AsyncTask by the new AsyncTaskLoader</p> <p>More information:</p> <ul> <li>Documentation for the <a href="http://developer.android.com/reference/android/os/AsyncTask.html" rel="nofollow">AsyncTask class</a></li> <li>This <a href="http://android-developers.blogspot.com/2009/05/painless-threading.html" rel="nofollow">blog entry</a> on the Android developers site.</li> </ul>