android 面试常见问题handler讲解

android 面试常见问题handler讲解_第1张图片

handler通过上图来说,是很简单明了的。

1.首先子线程处理完数据后,可以通过Message msg=handler.obtainMessage();msg.obj=数据 ; msg.what=数字类型;借用主线程的handler发一条消息到主线程的消息队列中

2.主线程的Looper(有人说这个难道不要新建一个吗?其实主线程在建立时已经帮我们创建好Looper了,不信你可以看下ActivityThread)发现消息队列中有新消息时,就会调用handler,(在prepareMainLooper方法中新建了一个looper对象,并与当前进程进行了绑定,而在Looper.loop方法中,线程建立消息循环机制,循环从MessageQueue获取Message对象)通过执行handlermessge的方法,去处理该条消息。(处理后的信息可在该方法内调用UI进行数据展示)

你可能感兴趣的:(android,handler,手机,andoird)