美文网首页Android知识Android开发经验谈
四大组件工作原理--学习笔记

四大组件工作原理--学习笔记

作者: Kevin_Curry | 来源:发表于2016-03-31 09:38 被阅读343次

四大组件除了BroadCastReceiver都必须在清单文件中注册

调用方式上 除了ContentProvider不需要intent外其他都需要在intent

Activity    展示型组件

启动方式 intent  显示和隐式  显示意图明确指向一个 隐式可以一个或多个activity组件;

Service 计算型组件  后台执行

两种状态 绑定和启动 两种状态可以共存;

启动状态主要用来执行后台计算

绑定状态主要用来其他组件和service的交互; 

onCreate onStartCommand onDestroy方法;

onCreate方法只会调用一次;

远程Service  清单文件中的process属性  设置为remote;

BroadCastReceiver  消息型组件  没有停止概念

注册方式  静态注册和动态注册两种

BroadcastReceiver的工作过程包括广播注册过程、广播发送和接收过程。

静态注册无论程序是否启动都会接受广播而动态注册的广播只有在当程序运行的时候才会接收到广播信息

静态注册是由PackageManagerService(PMS)在应用安装的时候完成整个注册过程的,

除广播以外,其他三大组件也都是在应用安装时由PMS解析并注册的。

广播的发送有几种类型:普通广播、有序广播和粘性广播,有序广播和粘性广播与普通广播相比具有不同的特性,但是发送和接收过程是类似的。

FLAG_INCLUDE_STOPPED_PACKAGES:广播会发送给已经停止的应用,FLAG_EXCLUDE_STOPPED_PACKAGES广播不会发送给已经停止的应用

从Android 3.1开始,处于停止状态的应用无法接受到开机广播。

ContentProvider  数据共享型组件 
内部维持着一个数据型集合可以通过数据库来实现 有增删改查四种操作;不需要手动停止;

当ContentProvider所在的进程启动时,会同时被启动并被发布到AMS中,需要注意的是,这个时候它的onCreate要先去Application的onCreate执行,这在四大组件中是一个少有的现象。
用启动的入口为ActivityThread的 main方法,main方法会创建ActivityThread实例并创建主线程消息队列。
attach方法中远程调用AMS的attachApplication方法,并提供ApplicationThread用于和AMS的通信。
attachApplication方法会通过bindApplication方法和H来调回ActivityThread的handleBindApplication,这个方法会先创建Application,再加载ContentProvider,然后才会回调Application的onCreate方法。
ContentProvider的multiprocess属性决定了ContentProvider是否是单例(false时),一般都用单例。
ontentResolver的具体类是ApplicationContentResolver,当ContentProvider所在进程未启动时,第一次访问它会触发ContentProvider的创建以及进程启动。

BroadCastReceiver动态注册过程 BroadCastReceiver发送和接受 contentProvider

图片来源与网络

相关文章

  • 四大组件工作原理--学习笔记

    四大组件除了BroadCastReceiver都必须在清单文件中注册 调用方式上 除了ContentProvide...

  • Android N 四大组件的工作原理

    本文侧重讲解android N 系统中四大组件的工作原理,不同系统原理略有差别。通过分析四大组件的工作流程加深对A...

  • Android 知识框架

    IPC机制,Binder和匿名共享内存等 四大组件启动,工作原理 View系统,绘制原理,事件分发 动画框架,原理...

  • Content Provider

    Android学习笔记(3)————Android四大组件之三(Content Provider)(代码示例待补全...

  • springmvc学习笔记

    springmvc学习笔记 学习springmvc框架原理 包括哪些组件: 前端控制器(中心) 处理器映射器(三大...

  • 组件——BroadcastReceiver

    本篇是对Android四大组件:BroadcastReceiver史上最全面解析的学习笔记。 一、作用 广播接收器...

  • 《思维导图》第二课

    今天学习两个主题,思维导图的四大原理和四大要素。 四大原理:图像原理、发散原理、收敛原理、主动原理。图像原理:大脑...

  • Android Activity 你所需要知道的一切

    tags:- Android学习笔记- Activity- 四大组件- 生命周期- 数据传递 微博:陳乔陳先森 转...

  • 【Android开发艺术探索】四大组件的工作过程

    个人博客http://www.milovetingting.cn 四大组件的工作过程 四大组件:Activity、...

  • Android触摸事件

    布局原理介绍 Android中四大组件中Activity组件就是呈现的许多页面,其中Activity中嵌套很多控件...

网友评论

    本文标题:四大组件工作原理--学习笔记

    本文链接:https://www.haomeiwen.com/subject/khgtlttx.html