Android中UI线程与后台线程交互设计的6种方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android中UI线程与后台线程交互设计的6种方法相关的知识,希望对你有一定的参考价值。

android的设计思想中,为了确保用户顺滑的操作体验。一些耗时的任务不能够在UI线程中运行,像访问网络就属于这类任务。因此我们必须要重新开启 一个后台线程运行这些任务。然而,往往这些任务最终又会直接或者间接的需要访问和控制UI控件。例如访问网络获取数据,然后需要将这些数据处理显示出来。 就出现了上面所说的情况。原本这是在正常不过的现象了,但是android规定除了UI线程外,其他线程都不可以对那些UI控件访问和操控。为了解决这个 问题,于是就引出了我们今天的话题。Android中后台线程如何与UI线程交互。

据我所知android提供了以下几种方法,用于实现后台线程与UI线程的交互。

1、handler

2、Activity.runOnUIThread(Runnable)

3、View.Post(Runnable)

4、View.PostDelayed(Runnabe,long)

5、AsyncTask

6、BroadcastReciver

以上是关于Android中UI线程与后台线程交互设计的6种方法的主要内容,如果未能解决你的问题,请参考以下文章

Android 怎么启动一个工作线程及线程如何与UI线程交互

Android中使用IntentService运行后台任务

Android中使用IntentService运行后台任务

Android 线程交互

如何在Android开发中用AsyncTask异步更新UI界面

Android 中AsyncTask后台线程的理解