在android的设计思想中,为了确保用户顺滑的操做体验。一些耗时的任务不可以在UI线程中运行,像访问网络就属于这类任务。所以咱们必需要从新开启 一个后台线程运行这些任务。然而,每每这些任务最终又会直接或者间接的须要访问和控制UI控件。例如访问网络获取数据,而后须要将这些数据处理显示出来。 就出现了上面所说的状况。本来这是在正常不过的现象了,可是android规定除了UI线程外,其余线程都不能够对那些UI控件访问和操控。为了解决这个 问题,因而就引出了咱们今天的话题。Android中后台线程如何与UI线程交互。android
据我所知android提供了如下几种方法,用于实现后台线程与UI线程的交互。网络
一、handler线程
二、Activity.runOnUIThread(Runnable)设计
三、View.Post(Runnable)ci
四、View.PostDelayed(Runnabe,long)it
五、AsyncTaskast
六、BroadcastReciver后台