多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
本章不过多介绍和Service相关的知识,原因有二: - Service的处理流程和本章重点介绍的Activity的处理流程差不多,并且Service的处理逻辑更简单。能阅读到此处的读者,想必对拿下Service信心满满。 - “授人以鱼,不如授人以渔”。希望读者在经历过如此大量而又复杂的代码分析考验后,能学会和掌握分析方法,因此本节将以startService为分析对象,把相关的流程图描绘出来,旨在帮读者根据该流程图自行研读与Service相关的处理逻辑。 s tartService调用轨迹如图6-21和图6-22所示。 :-: ![](http://img.blog.csdn.net/20150803123437322?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center) 图6-21 startService流程图之一 图6-21列出了和startService相关的调用流程。在这个流程中,可假设Service所对应的进程已经存在。 单独提取图6-21中Service所在进程对H.CREATE_SERVICE等消息的处理流程如图6-22所示。 :-: ![](http://img.blog.csdn.net/20150803123454930?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center) 图6-22 startService中相关Message的处理流程 * * * * * **注意**:图6-21和图6-22中也包含了bindService的处理流程。在实际分析时,读者可分开研究bindService和startService的处理流程。 * * * * *