2 u010321179 u010321179 于 2013.05.31 13:10 提问

Android清楚UI线程的队列

使用runOnUIThread 方法传递Runnable 任务到主线程队列,但是在传递新任务之前要清除以前的队列。怎么实现?

2个回答

cj6585256
cj6585256   2013.06.03 16:53

没实现过这种,但是能否换个思路,获取Looper中的MessageQueue,MessageQueue再quit能否达到同样的效果呢?

ygycomon
ygycomon   Rxr 2013.06.05 15:14

你不能控制那个队列,可以考虑自己维护一个任务队列

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
service和broadcastreceiver都是运行在ui线程中
android 中service和broadcastreceiver都是运行在ui线程中,,如果在他们中执行耗时操作,若果操作持续的时间超过android平台的约定,那么android平台会认为该程序出现异常,从而抛出ANR异常。
Android中的消息队列和线程队列机制
ndroid通过Looper、Handler来实现消息循环机制。Android的消息循环是针对线程的,每个线程都可以有自己的消息队列和消息循环。Android系统中的Looper负责管理线程的消息队列和消息循环。通过Looper.myLooper()得到当前线程的Looper对象,通过Looper.getMainLooper()得到当前进程的主线程的Looper对象。
多线程GCD之图片异步加载主队列刷新UI
再来说说GCD里面的异步加载,直接上代码,亲测/* 常见的图片加载+UI刷新 * 1,dispatch_async 异步队列 * 开启一个新的线程来执行耗时操作,但是同时又不会阻塞线程,因为任务创建后可以在不完成的情况下直接跳过block块去做下一项任务,等里面的任务完成后又会回到block块里面继续执行 * 比如,实现图片的加载是比较耗时的,所以必须要在异步线程里面执行 * 加载完事后需要
Android中的线程池与任务队列
http://blog.csdn.net/xcysuccess3/article/details/7551720 Android中的线程池与任务队列:             在Android手机开发的时候,考虑的资源问题是必须的。当然我们要注重线程的消耗资源的过程,线程在new的时候最消耗内存开销,而在运行的时候远远小于new的时候的内存开销。故我们可以考虑应用线程池与任
关于android Handler进行线程处理消息队列与线程队列线程无法停止的问题
最近看到一个问题,代码如下: public class HandlerTest extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); updateBarHandler.post(updateThread
Android WebView与JS页面相互调用之使用css样式+查看单张或全部图片+调整图片大小
 阻塞队列BlockingQueue扩展了Queue、Collection接口,对元素的插入和提取使用了“阻塞”处理,我们知道Collection下的实现类一般都采用了长度自行管理方式(也就是自动变长),比如下面的代码是可以运行的: 集合的自动变长 上面的代码定义了列表的初始长度为5,在实际使用时,当加入的元素超过初始容量时,ArrayList会自行扩容,确保能够正常加入元素。那Bl
GCDExecuteNonUITest Demo代码
GCD 非UI IOS Demo 队列 线程代码
Android UI主线程和工作线程的总结
简介: 在网上看了很多的文章,基本都是在讲解如何在UI主线程中去执行UI操作,不能通过子线程去更新UI。有个问题是我不知道具体哪些是UI操作,如何区分哪些操作是UI操作,哪些不是呢?如果能有效区分开来,想一下,我们是不是可以把view的非UI操作全部放在子线程去处理,减少UI主线程中的代码,可以有效的优化APP的流畅性。
Android中子线程与UI线程交互
交互方式 1、handler 2、Activity.runOnUIThread(Runnable) 3、View.Post(Runnable) 4、View.PostDelayed(Runnabe,long) 5、AsyncTask Handler 一个线程只能运行一个消息环即一个Thread对应一个Looper,一个Looper对应一个Thread; APP运行的时候,在main
android 服务组件多线程交互
android 的service和activity是运行在UI主线程的。在android线程中,只有主线程即UI线程有自己的默认的消息队列。子线程需要创建自己的消息队列,并把消息发给队列,并循环起来,发给handler处理。