本文主要是介绍一起Talk Android吧(第一百七十八回:Android中的Handler机制七),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
各位看官们大家好,上一回中咱们说的是Android中Handler机制的例子,这一回咱们继续说该例子。闲话休提,言归正转。让我们一起Talk Android吧!
看官们,我们在上一章回中介绍了如何使用Handler
机制,其实在此之前,我们就介绍过,而且还有详细的代码示例,那么我们介绍的内容是不是重复了?重复是有的,不过开始介绍的内容和示例是把大家引入到Handler机制中,后面再介绍时是在分析源代码的基础上介绍的,这时加入了Looper
相关的内容,这点在开始的内容中是没有。这是一种循序渐进的方式因此,后面的内容更加全面一些。
有看官问,开始的时候没有创建Looper
,怎么进行消息循环呢?问的好,其实是Activity所在的线程帮我们创建了Looper。我们可以查看相关的源代码,它位于ActivityThread.java文件中,下面是它的源代码,我们只列出了核心功能的代码。
public static void main(String[] args) {Looper.prepareMainLooper();ActivityThread thread = new ActivityThread();thread.attach(false, startSeq);if (sMainThreadHandler == null) {sMainThreadHandler = thread.getHandler();}Looper.loop();
}class H extends Handler {public void handleMessage(Message msg) {switch (msg.what) {case BIND_APPLICATION:AppBindData data = (AppBindData)msg.obj;handleBindApplication(data);break;case EXIT_APPLICATION:if (mInitialApplication != null) {mInitialApplication.onTerminate();}Looper.myLooper().quit();break;}}
}
从上面的源代码可以看出,它和我们在上一章回中列出的步骤是相同的。看官们,这个源代码既可以看作是一个实际使用的例子,也帮我们说明了Activity所在线程如何创建Looper的过程,真是一箭双雕呀。不过有些看官还是觉得没有自己动手的感觉好,看官们不用着急,在接下来的章回中,我们会给你们自己动手的机会的。
各位看官,关于Android中Handler机制的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!
这篇关于一起Talk Android吧(第一百七十八回:Android中的Handler机制七)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!