偶尔看见的一个关于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去干。

形象理解Android四大组件相关推荐

  1. Kotlin第七章: Android四大组件

    1. 四大组件 四大组件是每一个Android人必须要会,要掌握的知识点,因为他们是我们在日常开发工作中打交道最频繁的组件,而且他们四个在不同的领域扮演着极其重要的角色. Activity: 负责用户 ...

  2. Android 四大组件之——Acitivity(一)

    一,什么是Activity activity是Android组件中最基本也是最为常见用的四大组件之一.Android四大组件有Activity,Service服务,Content Provider内容 ...

  3. Android——四大组件、六大布局、五大存储

    一.android四大组件 (一)android四大组件详解 Android四大组件分别为activity.service.content provider.broadcast receiver. 1 ...

  4. 重温Android四大组件(一)—Activity的生命周期

    前言 四大组件对于Android开发者是老生常谈的知识了,相信每个Android开发者对四大组件都已经很熟悉了.但是四大组件作为Android应用的基础,作为开发者不仅要熟悉而且要烂熟于心. 这里以& ...

  5. Android四大组件---BroadcastReceiver

    前言: BroadcastReceiver(广播接收器),属于 Android 四大组件之一 在 Android 开发中,BroadcastReceiver 的应用场景非常多 今天,我将详细讲解关于B ...

  6. Android四大组件之——Activity(一)定义、状态和后退栈(图文详解)

    什么是Activity 关键字:应用组件.四大组件.用户界面,交互. An Activity is an application component that provides a screen wi ...

  7. android四大组件小整

    原文来自http://www.jianshu.com/p/478a34af17df 所谓的android四大组件一次是Activity.Service.BroadcastReceiver和Conten ...

  8. android java service_[Java教程]Android四大组件之Service浅见

    [Java教程]Android四大组件之Service浅见 0 2014-04-04 18:00:28 Service 是Android四大组件之一,可以在不显示界面的情况下在后台运行.还有一个作用是 ...

  9. 下面不是android四大组件之一的是,Android四大组件之一 Service

    Service是长期在后台运行的没界面的Android四大组件之一,默认是运行在主线程中的,如果在service中执行耗时操作超过20秒没响应的话就会造成ANR,所以可以使用IntentService ...

最新文章

  1. 怎么设置matlab滑块的值,matlab - 如何根据另一个滑块更改滑块的最大值 - SO中文参考 - www.soinside.com...
  2. 斑马快跑已获3亿元新一轮融资,已成为全国第五大网约车平台
  3. error C2660: 'MessageBoxA' : function does not take 4 parameters
  4. 安卓导航无信号无服务器,无信号导航能用否
  5. 设计模式的C语言应用-命令模式-第五章
  6. 容器入门(1) - 安装和使用Docker Registry
  7. 【python基础】--常用数据结构
  8. 能力提升综合题单Part 8.9.3 费用流
  9. git撤销单个文件的修改_程序员都要掌握的 Git 使用技巧【实践】
  10. 百度旗下网站暗藏恶意代码——劫持用户电脑疯狂“收割”流量
  11. S7-200SMART与昆仑通态触摸屏以太网通信的具体方法和步骤(图文)
  12. 采用gfzrnx软件进行RINEX批量格式转换(rinex3到rinex2,rinex2到rinex3)
  13. 浪潮服务器系统安装操作,浪潮服务器系统安装操作
  14. Spring中的DataSource
  15. 三星手机回归中国市场,对中国手机高端化之路是又一个重大打击
  16. mysql8 update语句 where块的in方法内子查询不报错
  17. heapdump file must have .hprof extention
  18. 教你微信对接图灵机器人
  19. Elasticsearch(7.0.0) percolate termQuery 不好使 (type:text default analyzer)
  20. Simscape物理网络建模的基本原理

热门文章

  1. ESP8266-Arduino编程实例-ADC
  2. 计算机图形学bazzer茶壶制作_书籍推荐:艺术化绘制的图形学原理与方法
  3. 【解决方案】RTSP/RTMP/GB28181协议EasyCVR安防视频云服务智慧工地解决方案
  4. XXXX is not in the sudoers file. This incident will be reported解决方法
  5. Django之Form验证clean方法(验证篇六)
  6. mysql json 数据 数组某个元素的 替换
  7. matlab自协方差函数,自协方差函数,自相关函数,协方差矩阵
  8. 记一次 MySQL 数据库遭比特币病毒处理方法
  9. Mybatis返回值
  10. 意大利护照预约服务号