Android View.post(Runnable )

Runnable 并不一定是新开一个线程,比如下面的调用方法就是运行在UI主线程中的:


Handler mHandler=new Handler(); 

      mHandler.post(new Runnable(){ 
        @Override public void run() 

        

// TODO Auto-generated method stub 

         } 

      });


View.post(Runnable)方法。在post(Runnable action)方法里,View获得当前线程(即UI线程)的Handler,然后将

action对象post到Handler里。在Handler里,它将传递过来的action对象包装成一个Message(Message的callback为

action),然后将其投入UI线程的消息循环中。在Handler再次处理该Message时,有一条分支(未解释的那条)就是

为它所设,直接调用runnable的run方法。而此时,已经路由到UI线程里,因此,我们可以毫无顾虑的来更新UI。

这种情况下,由于不是在新的线程中使用,所以千万别做复杂的计算逻辑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值