形象理解Android四大组件

偶尔看见的一个关于Android四大组件很形象的解释,觉的不错,粘过来备份,闲时偶尔看看微笑

原帖地址:http://zhidao.baidu.com/link?url=iQCcb0X8EA7ZKVTWdf5NpU1PIro74TsL8mF7W61-pOLcfcf7hfQi18gk9gOdC8X7a2fkyuTHtrJjpDtBTUgT3Djp2GuCFELfO3tRmub3gbS


原帖问题:

既然android service是运行在主线程中的,那service还有什么用??


生动回复:

你没有将android 组件和android C/S架构的概念理解清楚,不仅没有理解清楚,还把组件的概念,跟线程、进程混淆在一起了。 我将android比喻成一栋办公大楼,android 中进程就是一个办公室,线程就是办公室里面的员工,办公室是不能干活的,而真正干活的是这个办公室里面的员工。一个员工只能在一个办公室里面干活,而一个办公室可以有很多员工。 Android的老板希望它的公司能办理的井井有条,于是针对每一种职能专门设立管理部门,例如WMS,负责窗口管理的,例如MPS,负责多媒体播放的。 一个部门可以有一个或多个办公室,一个办公室也可以有多个部门。 而android的管理部门往往是不干什么实事的,就像我们的天朝的猿类,你推它一下,它才动一下。所以android需要一些干实事的部门,做对外客户的,这些部门我们统称为apk。Android中有好多这种部门,于是为了防止这些部门瞎干,又把部门分成Activity、Service、BrocastReceiver、ContentProvider四种子部门,这些子部门就是用来跟其它部门做沟通的,而所有的子部门运作时都会由大管家AMS来记录在案。 Activity,做门面的。 Service,做对外支持的。 BrocastReceiver,做门卫收信的。 ContentProvider,做仓库管理的。 做门面的,可以做对外支持的活,也可以做仓库管理的活。但是外面可不这么认为,它想找你要数据,只会找ContentProvier,找对外支持只会找Service。 另外AMS大管家有个不好的习惯,它为了节省公司的资源,AMS那里没有你这个apk任何部门运行记录的时候,它有可能把你的电关了(杀进程)。 而LZ你描述的问题呢,就是你的部门想下载东西,是由Activity子部门去干呢,还是Service去干。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值