• Handler.post与View.post的区别


    Android的线程分UI线程与非UI线程两类。而Handler是非UI线程向UI线程传递消息的桥梁。
    
    除了非常常用sendMessage之外,Handler也提供了post(Runnable...),postDelayed等
    
    风骚犀利的方法,利于我们使用“闭包式编程”。
    
     
    
    View作为UI的一部分,也无例外的提供了一个淫荡的View.post(Runnable)方法,让我们在
    
    UI线程中doSomeThing。灵活使用View.post。神马Handler,Activity.runOnUIThread,
    
    都可以一边站去。
    
     
    
    相同
    
    在与UI线程的通信上,Handler与View,其实最终都做了同样的事情。就是将消息传递在UI线程
    
    的消息队列里,执行一些处理操作。
    
     
    
    不同的是
    
    View.post方法想在非UI线程有效工作。如该方法的注释所说,必须保证该View已经被添加至窗口。
    
    This method can be invoked from outside of the UI thread only when this View is attached to a window.
    
     另外给一个stackoverflow的例子:
    
     http://stackoverflow.com/questions/4083787/runnable-is-posted-successfully-but-not-run
  • 相关阅读:
    html常用标签与扩展(标签语义化、Doctype)
    html认识
    兼容性问题统计
    最短的包含字符串 (尺取法)
    与7 无关的数(前缀和)
    子序列(尺取入门)
    孪生素数
    vector 详解
    进制转换(高级版^^)
    容斥 mobius反演
  • 原文地址:https://www.cnblogs.com/yaowen/p/5666680.html
Copyright © 2020-2023  润新知