image

编辑人: 未来可期

calendar2025-05-25

message8

visits539

Android中的几种多线程实现方式都有哪些?

1.Activity.runOnUiThread(Runnable)FA5C9FEB-0D18-48C8-A10C-611D3E7F8389 使用: runOnUiThread可以帮助你在线程中执行UI更新操作,我们只需要在线程中写上类似 “`youractivity. runOnUiThread(new Runnable() { @Override public void run() {

 

                   // refresh ui 的操作代码

 

                } 

            });

2.Handler

andriod提供了 Handler 和 Looper 来满足线程间的通信。

      Handler 先进先出原则。

      Looper类用来管理特定线程内对象之间的消息交换(Message Exchange)。

      1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。 

      2)Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue里;或者接   收Looper从Message Queue取出)所送来的消息。 

      3) Message Queue(消息队列):用来存放线程放入的消息。 

      4)线程:UI thread 通常就是main thread,而Android启动程序时会替它建立一个Message Queue。

3.AsyncTask

AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.

使用的优点:

        l 简单,快捷

        2 过程可控

使用的缺点:

        l 在使用多个异步操作和并需要进行Ui变更时,就变得复杂起来.

喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!

创作类型:
原创

本文链接:Android中的几种多线程实现方式都有哪些?

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。
分享文章
share