你的位置:首页 > 软件开发 > 操作系统 > android 进程/线程管理(三)

android 进程/线程管理(三)

发布时间:2015-08-04 18:00:11
Thread,Looper的组合是非常常见的组合方式。Looper可以是和线程绑定的,或者是main looper的一个引用。下面看看具体app层的使用。首先定义thread:package com.joyfulmath.androidstudy.thread;import co ...

Thread,Looper的组合是非常常见的组合方式。

Looper可以是和线程绑定的,或者是main looper的一个引用。

下面看看具体app层的使用。

首先定义thread:

package com.joyfulmath.androidstudy.thread;import com.joyfulmath.androidstudy.TraceLog;import android.os.Bundle;import android.os.Handler;import android.os.Looper;import android.os.Message;public class MyLoopThread extends Thread {      private Looper myLooper = null;  private MyHandler mHandler = null;  public MyLoopThread()  {    super();  }    @Override  public void run() {    TraceLog.i("MyLoopThread looper prepare");    Looper.prepare();//    myLooper = Looper.getMainLooper(); /*using this can be set as main handler*/    myLooper = Looper.myLooper();    mHandler = new MyHandler(myLooper);    TraceLog.i("MyLoopThread looper loop");    Looper.loop();  }      public void doAction(int index,String params)  {    if(index>0 && index <=3)    {      Message msg = mHandler.obtainMessage(index);      Bundle bundle = new Bundle();      bundle.putString("key", params);      msg.setData(bundle);      mHandler.sendMessage(msg);    }    else    {      TraceLog.w(index+"");    }  }    public static class MyHandler extends Handler{        public MyHandler()    {      super();    }        public MyHandler(Looper loop)    {      super(loop);    }        /*make sure that the looper is main or not     *so you can update UI or send main handler to do it.     * */    @Override    public void handleMessage(Message msg) {      Bundle bundle = msg.getData();      String params = bundle.getString("key");      TraceLog.i(params);      switch(msg.what)      {      case ThreadConstant.INDEX_1:        TraceLog.d("INDEX_1");        break;      case ThreadConstant.INDEX_2:        TraceLog.d("INDEX_2");        break;      case ThreadConstant.INDEX_3:        TraceLog.d("INDEX_3");        break;        }    }  }}

原标题:android 进程/线程管理(三)

关键词:Android

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录