Android面试Android技术知识Android开发

要点提炼|开发艺术之四大组件

2017-12-27  本文已影响1972人  厘米姑娘

提到四大组件大家肯定再熟悉不过了,本篇侧重于对四大组件工作过程的分析:


1.概述

a.Activity

相关基础入门之Activity篇开发艺术之Activity

b.Service

相关基础入门之Service篇

c.BroadcastReceiver

相关基础入门之BroadcastReceiver篇

d.ContentProvider

相关基础入门之ContentProvider篇IPC方式之ContentProvider
考考自己android四大组件的运行状态


二.工作过程

由于相关源码非常多,这里借用@amurocrash的UML图来提炼流程更为直观,另附相关源码分析的文章供大家详细了解。

a.Activity

Activity启动过程流程图:

Activity启动过程

结论

源码分析Activity的工作过程

b.Service

Service启动过程 Service绑定过程

结论

源码分析Service的工作过程

c.ContentProvider

ContentProvider启动过程
  • 启动的入口为ActivityThread.main():创建ActivityThread实例并创建主线程消息队列;
  • ->ActivityThread.attach():远程调用AMS.attachApplication()并提供ApplicationThread用于和AMS的通信;
  • ->AMS.attachApplication():通过ActivityThread.bindApplication()方法和Handler H来调回ActivityThread.handleBindApplication();
  • ->ActivityThread.handleBindApplication():先创建Application、再加载ContentProvider、最后回调Application.onCreate()

图片来源四大组件的工作过程

Query过程

insert()delete()update()类似,这里不展开

结论

源码分析 ContentProvider的工作过程

d.BroadcastReceiver

Receiver动态注册过程 广播发送和接收过程

结论:

源码分析BroadcastReceiver 的工作过程


希望这篇文章对你有帮助~

上一篇下一篇

猜你喜欢

热点阅读