Handler更新UI的方法主要有4种,我用过的是handler+runnable。
主要涉及3个对象:Handler,Looper,MessageQueue
大致的工作过程可以总结为:
发送:handler负责发送消息,looper接收来自handler的消息并创建looper实例,looper将消息放到消息队列(message queue)中;
接收:looper通过不断从消息队列中获取消息分发给handler进行处理。
更多内容参考 这个博客
https://www.cnblogs.com/zhujiabin/p/6043306.html
下面的博客这个讲的涉及一些线程池,跟我之前用过的简单的handler+runnable来完成数据的发送不同,使用线程池进行管理,需要时调取一个任务对象,完成后线程对象归池,避免了重复创建线程对象带来的开销。
最后附上一点关于线程池的类型以及使用的了解,具体参考这个博客,4种是:cache,fixed,scheduled,single。