Looper、Handler进一步学习
来源:互联网 发布:php curl file create 编辑:程序博客网 时间:2024/04/29 13:59
package com.test.looper;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.HandlerThread;import android.os.Looper;import android.os.Message;import android.util.Log;public class MainActivity extends Activity {private LooperThread looperThread;//自己实现的带有Looper的类private HandlerThread handerThread;//使用sdk方便类,带有Looperprivate Handler handler; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); looperThread = new LooperThread(); looperThread.start();looperThread.getHandler().sendEmptyMessage(1);looperThread.exit();handerThread = new HandlerThread("abc");handerThread.start();//Handler在构造时会关联一个Looper,如果空就会使用Looper.myLooper();详见源码handler = new Handler(handerThread.getLooper()){@Overridepublic void handleMessage(Message msg) {Log.d("CYQ", "--->" + msg);}};handler.sendEmptyMessage(100); } class LooperThread extends Thread { private Handler mHandler; private final Object mSync = new Object(); public void run() { Looper.prepare(); synchronized (mSync) { mHandler = new Handler(){ @Override public void handleMessage(Message msg) { Log.d("CYQ", "--->" + msg); } }; mSync.notifyAll(); } Looper.loop(); } public Handler getHandler() { synchronized (mSync) { if (mHandler == null) { try { mSync.wait(); } catch (InterruptedException e) { } } return mHandler; } } public void exit() { getHandler().post(new Runnable(){ public void run() { Looper.myLooper().quit(); }}); } }}
发现sdk中有方便类,可以有另外一种实现方法
HandlerThread的Looper对象可以用于创建一个Handler
- Looper、Handler进一步学习
- 线程Looper+Handler+Thread学习
- 线程Looper+Handler+Thread学习
- Handler、Looper、Message学习笔记
- Android中Looper/Handler学习笔记
- Handler,Message,Looper深入系统学习
- 笔记:学习 Android -Handler,Thread,Looper
- Handler&Looper
- Handler&Looper
- looper handler
- Looper & Handler
- Handler+Looper
- Handler Looper MessageQueue之Looper
- 安卓系统的Handler,MessageQueue,Message,Looper的学习
- 关于消息机制handler message looper的学习总结
- Android 学习 之 Looper Handler Thread Messahe 多线程
- android学习之——Handler、Looper、MessageQueue
- Android HandlerThread Handler Looper 三类之间的联系--学习
- c实现strcpy函数
- Linux即输出到屏幕,又保存到文件
- S3C6410 FrameBuffer编程(六) --- 利用FrameBuffer显示图片,并实现左右、上下、180度翻转
- XenServer Monitoring in Minutes
- C#基础系列--C#中委托与事件(三)
- Looper、Handler进一步学习
- 媒体称我国各地经济刺激计划累计超10万亿-经济刺激-地方债-盲目投资
- 确认测试 是否等于 验收测试
- Entity Framework 学习总结之六:EntitySQL 介绍入门 .
- Softerra LDAP Browser 使用及配置 有图有真相
- 蝴蝶效应 青蛙现象 鳄鱼法则 马太效应 木桶理论 二八定律(巴莱多定律) 破窗理论 羊群效应
- HTTP Content-disposition
- 怎么写第一个kshell 以及如何执行kshell
- SWT/Jface ApplicationWindow