Android HandlerThread
来源:互联网 发布:哥特王朝4优化补丁 编辑:程序博客网 时间:2024/06/06 03:04
1、认识HandlerThread
Android里的handler不是另外开启线程来执行的,还是在主UI线程中。如果想另启线程的话,除了可以new一个thread,还可以用HandlerThread来实现。在使用HandlerThread的时候需要实现CallBack接口以重写handlerMessage方法,在handlerMessage方法中来处理自己的逻辑。
2、示例代码
public class TestHandlerActivity extends Activity implements OnClickListener{ public Button handlerThreadBTN; MyHandlerThread handlerThread; Handler handler; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //打印UI线程的名称 System.out.println("onCreate CurrentThread = " + Thread.currentThread().getName()); setContentView(R.layout.main); handlerThreadBTN = (Button) findViewById(R.id.handlerThreadBtn); handlerThreadBTN.setOnClickListener(this); handlerThread = new MyHandlerThread("myHanler"); handlerThread.start(); //注意: 这里必须用到handler的这个构造器,因为需要把callback传进去,从而使自己的HandlerThread的handlerMessage来替换掉Handler原生的handlerThread handler = new Handler(handlerThread.getLooper(), handlerThread); } @Override public void onClick(View v) { //点击按钮后来开启线程 handler.sendEmptyMessage(1); } private class MyHandlerThread extends HandlerThread implements Callback { public MyHandlerThread(String name) { super(name); } @Override public boolean handleMessage(Message msg) { //打印线程的名称 System.out.println(" handleMessage CurrentThread = " + Thread.currentThread().getName()); return true; } } }
0 0
- Android:HandlerThread
- Android HandlerThread
- Android HandlerThread
- Android HandlerThread
- Android-HandlerThread
- Android HandlerThread
- Android HandlerThread
- android handlerthread 通知机制
- Android多线程--HandlerThread用法
- Android 异步线程 HandlerThread
- Android类参考---HandlerThread
- Android开发--线程 HandlerThread
- android handlerthread 通知机制
- android Handler & HandlerThread
- android handlerthread 通知机制
- android Handler 与 HandlerThread
- Android HandlerThread使用方法
- android初学者之HandlerThread
- HDU3506_Monkey Party
- Distinct Subsequences
- delegate的理解与使用 C#描述
- 怎样做 SEO,具体的计划是什么?
- android 定位服务
- Android HandlerThread
- 如何创建一个安卓项目
- MySQL优化实例
- jQuery基础篇1
- LPC1114 外部中断介绍
- cocos2dx 3.0正式版 在mac上新建项目
- cocos2d-x 3.0 事件处理
- linux驱动程序基本步骤
- xml的常用方法