答案:是的

 handler.postDelayed(new Runnable() {
@Override
public void run() {
tv_word.setVisibility(View.GONE);
}
},3000);

官方说法

开启的runnable会在这个handler所依附线程中运行,而这个handler是在UI线程中创建的,所以

自然地依附在主线程中了。

postDelayed(new Runnable()) 而没有重新生成新的 New Thread()


小结

通常来说handler.postDelayed(new Runnable()){ }是为了刷新UI用的,handler实例化在主线程,postDelayed(new Runnable()){ }方法又依附于handler所在线程,所以就运行于主线程。即使这样我还是不理解,new Runnable()不是新开了一个线程吗



原来我弄错了,如果是implements Runnable,像extends Thread一样,是新开了线程,但是现在只是new Runnable(){},是把Runnable对象以Message形式post到UI线程里的Looper中执行,现在真相大白了,知识点太容易混淆了。

最新文章

  1. json转换
  2. select中无法使用click的处理
  3. OAuth2授权原理
  4. [bzoj2243][SDOI2011]染色
  5. HttpServletRequest中得到各种信息
  6. centos的安装,网络的调试
  7. js webapp 滑动事件
  8. Ant 执行 YUICompressor
  9. 关于Linux下进程间使用共享内存和信号量通信的时的编译问题
  10. Encoding 分类: HDU 2015-06-25 21:56 9人阅读 评论(0) 收藏
  11. 第一好用的时间 日期插件(Adding a Timepicker to jQuery UI Datepicker)
  12. android学习日记03--常用控件ListView
  13. ubuntu glusterfs 配置调试
  14. [Twisted] Protocols协议和Protocol Factories 协议工厂
  15. 基于visual Studio2013解决C语言竞赛题之0518回文数
  16. ffmpeg错误:Invalid UE golomb code
  17. 服务器http://localhost:8080要求用户输入用户名和密码
  18. Ubuntu如何使用Vscode写C++代码
  19. Spring入门详细教程(二)
  20. Codeforces1076D. Edge Deletion(最短路树+bfs)

热门文章

  1. GeoServer 修改端口
  2. 扛把子组20191114-4 Beta发布用户使用报告
  3. 老男孩python 自学day09 函数开始
  4. Glibc编译报错:*** These critical programs are missing or too old: as ld gcc
  5. 数据降维-NMF非负矩阵分解
  6. PV、UV、IP、TPS、QPS、RPS等网络度量术语
  7. Chrom谷歌浏览器没网之最全解决办法之一
  8. 【JavaEE】之MyBatis动态SQL
  9. Linux下利用nginx实现负载均衡
  10. Hibernate注解之@Enumerated:针对枚举enum(转)