1: Activity中的消息循环是利用Looper来维护的。Activity自动为主thread建立一个Looper。

2:在建立的子线程中,如果不使用Looper.prepare();和Looper.loop();,是没有自己的Looper的。可以通过Looper.getMainLooper()来得到主thread的Looper,Looper.myLooper(); 来得到本thread的Looper。如果没有Looper.prepare();,当然是得到NULL的。

3:Handler 默认的是attach到本线程的Looper上面,所以同样的道理,如果没有Looper.prepare(); 就不行。但当然也可以设置Looper给他。

常见的做法是在各个附线程里面得到Looper.getMainLooper (或者直接是建立在主线程的handler),这样发消息给主线程来刷新UI啥的。

更多相关文章

  1. SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
  2. android有了eventbus,一切与关界面通信问题迎刃而解。
  3. Android(安卓)四种异步操作UI界面的方法
  4. Android在非UI线程中更新UI的方法
  5. 【移动开发】Android游戏开发SurfaceView应用----手指发动小球(小
  6. Android后台任务(HandlerThread、AsyncTask、IntentService)
  7. Android(安卓)常用知识点整理(含链接)
  8. BlockCanary原理解析(Android端UI卡顿监测工具)
  9. IOS多线程开发之GCD

随机推荐

  1. 紫薇圣人的程序员人生第2回 [原创IT小说]
  2. 【DG】DG日常维护
  3. js之购物车自动计算
  4. COUNT(*)计算行数有哪些优化手段
  5. 【AIX】AIX内存机制
  6. 藏在表分区统计信息背后的小秘密
  7. dd命令详解
  8. 使用DBLINK查询时报ORA-00600: internal
  9. 【OS】什么是YUM?如何配置本地YUM源?
  10. 【Tomcat】Tomcat的使用