首页 > 系统 > Android > 正文

总结Android多线程的实现方法

2020-02-21 17:25:26
字体:
来源:转载
供稿:网友

多线程Android开发中是经常接触到的,其实Android多线程编程与Java多线程编程很相似,下面武林技术频道小编给大家分享总结Android多线程的实现方法吧!

Android 多线程的实例详解

Java多线程方式

1. 继承Thread线程,实现run方法

2. 实现Runnable接口

JAVA单继承性,当我们想将一个已经继承了其他类的子类放到Thread中时,单继承的局限就体现出来了

但是可以实现多个接口,所以第二种方法相对于第一种来说灵活许多

其次,通过

new Thread(Runnable runnable).start() 

启动线程的方式,若变量在runnable中定义,多个线程可以共用,因为来自同一个对象

比较适合多个相同程序代码的线程去处理同一资源的情况

Android多线程方式

主要集中在UI线程和其他线程的交互问题上

1. Thread,Handler,Message
2. AsyncTask
3. Runnable

第一种方式,new Thread()然后通过Handler sendMessage,由Handler的handleMessage方法实现对应的处理,完成与UI进程的交互

private Handler mHandler = new Handler(){  public void handleMessage(Message msg) {    /*do sth through msg */  }}public BadThread extends Thread {  private final static String TAG = this.getClass().getName();  public void run() {    /*coding*/  }};new BadThread().start();

第二种方式,异步线程的方式,doInBackground()中执行任务,onPreExecute()准备工作,onPostExecute()任务结束后调用,onProgressUpdate与publishProgress配合使用,实现和UI线程的交互

AsyncTask mLoadingTask = new AsyncTask(){  protected Object doInBackground(Object[] objects) {  }  protected void onProgressUpdate(Object[] values) {  }  ......}mLoadingTask.execute();

第三种方式,Runnable对象,通过Handler直接Post等方法启动线程,实现与UI线程的交互

private Runnable mRunnable = new Runnable(){  public void run() {     /*do sth*/  }}mHandler.post(mRunnable);

上文内容就是武林技术频道小编分享的总结Android多线程的实现方法,你还有其他疑问吗?我们网站还整理了很多这方面的知识,想要了解就赶紧来收藏js.Vevb.com吧!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表