Android的APP在启动后自动启动了一个UIThread即主线程。这个线程主要用来分发用户操作事件、界面绘制事件。所以为了保持较好的用户体验,耗时的操作都会放到其它线程执行,执行完成后再将结果返回到主线程并显示出来。但是,从其它线程是不能直接操作UI的。这是就需要有个线程间传递信息的机制,即Handler和消息队列以及Looper。
Android平台从其它线程访问主线程主要有以下几种方式:
1、Activity.runOnUiThread(Runnable)
2、View.post(Runnable)或View.postDelayed(Runnable, long)
3、Handler