Android(安卓)中handler 的应用
16lz
2021-01-26
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啥的。
更多相关文章
- SpringBoot 2.0 中 HikariCP 数据库连接池原理解析
- android有了eventbus,一切与关界面通信问题迎刃而解。
- Android(安卓)四种异步操作UI界面的方法
- Android在非UI线程中更新UI的方法
- 【移动开发】Android游戏开发SurfaceView应用----手指发动小球(小
- Android后台任务(HandlerThread、AsyncTask、IntentService)
- Android(安卓)常用知识点整理(含链接)
- BlockCanary原理解析(Android端UI卡顿监测工具)
- IOS多线程开发之GCD