 <p>On Android it's best to use <a href="http://developer.android.com/reference/android/os/AsyncTask.html" rel="nofollow">AsyncTask</a> to execute tasks in the background while (progressively) updating UI with results from this task.</p> <p><strong>Edited:</strong></p> <p>After checking code I think your Handler works correctly. Probably problem is in <code>UpdateDisplay()</code>. Since you are updating display from background thread, make sure you call <code>[view.postInvalidate()][2]</code> after you're done updating your View.</p>