QDa

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

MessageQueue提供了另一类消息,IdleHandler

如果返回false,每次轮询都会调用(理论上应该可以做一些别的东西)

    Looper.myQueue().addIdleHandler(new MyIdleOnce());
    Looper.myQueue().addIdleHandler(new MyIdleKeep());
    //removeIdleHandler
     
    class MyIdleKeep implements MessageQueue.IdleHandler{
        /**
         *返回值为true,则保持此Idle一直在Handler中,否则,执行一次后就从Handler线程中remove掉。
         */
        @Override
        public boolean queueIdle() {
            Log.d(tag,空闲线程!);
            return true;
        }
         
    }
 
    class MyIdleOnce implements MessageQueue.IdleHandler{
 
        @Override
        public boolean queueIdle() {
            Log.d(tag,出现一次);
            return false;
        }
         
    }

 

posted on 2014-03-11 15:01  QDa  阅读(443)  评论(0编辑  收藏  举报