Looper
来源:互联网 发布:网络真人赌博真实吗 编辑:程序博客网 时间:2024/05/20 15:42
使用方法如下:
1. 在每个线程的run()方法中的最开始调用Looper.prepare(),这是为线程初始化消息队列。
2. 之后调用Looper.myLooper()获取此Looper对象的引用。这不是必须的,但是如果你需要保存Looper对象的话,一定要在prepare()之后,否则调用在此对象上的方法不一定有效果,如looper.quit()就不会退出。
3. 在run()方法中添加Handler来处理消息
4. 添加Looper.loop()调用,这是让线程的消息队列开始运行,可以接收消息了。
5. 在想要退出消息循环时,调用Looper.quit()注意,这个方法是要在对象上面调用,很明显,用对象的意思就是要退出具体哪个Looper。如果run()中无其他操作,线程也将终止运行。
1. 在每个线程的run()方法中的最开始调用Looper.prepare(),这是为线程初始化消息队列。
2. 之后调用Looper.myLooper()获取此Looper对象的引用。这不是必须的,但是如果你需要保存Looper对象的话,一定要在prepare()之后,否则调用在此对象上的方法不一定有效果,如looper.quit()就不会退出。
3. 在run()方法中添加Handler来处理消息
4. 添加Looper.loop()调用,这是让线程的消息队列开始运行,可以接收消息了。
5. 在想要退出消息循环时,调用Looper.quit()注意,这个方法是要在对象上面调用,很明显,用对象的意思就是要退出具体哪个Looper。如果run()中无其他操作,线程也将终止运行。
new Thread(new Runnable() {public void run() { //初始化Looper对象 一个线程对应一个looper Looper.prepare(); mHandler = new Handler() { public void handleMessage(Message msg) { super.handleMessage(msg); Log.i("test", "do somethings"); if(msg.what == Quit) { Looper myLooper = Looper.myLooper(); myLooper.quit(); } } }; //开启消息循环 Looper.loop(); Log.i("test", "quit"); }}).start();
0 0
- Looper
- Looper
- Looper
- Looper
- Looper
- Looper
- looper
- Looper
- Looper
- Android Looper
- Android Looper
- Android Looper
- Android Looper
- Android Looper
- Android Looper
- Looper.prepare()
- Android Looper
- android:Looper
- 配置Wireshark在非root用户下运行
- 简约选项卡效果
- Javascript中的hasOwnProperty
- 11.OpenGL--点参数
- mysql数据库设置远程连接权限
- Looper
- java基本加密算法
- html列表可滚动
- canvas的用法
- Spring 注解
- 按钮hover状态的css实现
- classloader
- display:block,inline,inline-block的用法
- mysql 排序时,排除指定内容