《Android 群英传》纯干货笔记(一)

1.1 Google生态系统

Android系统底层通过最快的C语言保证效率,上层使用Java简单、快速进行开发,开放的系统让各个Android社区、开发者论坛空前火爆,甚至是可以进行无限可能的系统定制化。可以说Android的到来,奠定了移动操作系统一个里程碑式时代的开始。

在这里插入图片描述

1.2 Android系统架构

问:Android到底是个什么东西?
答:从宏观上讲,Android是一个移动操作系统,但这是一个很宽泛的概念。Android系统架构大致分为四层:Linux内核层、库和运行时、Framework层和应用层。也有人说Android是一个用于连接设备的软件集合。

下图为Android系统架构图:
在这里插入图片描述
1.Linux
其中Linux层是Android最底层最核心的部分,Linux层包含了Android系统的核心服务,包括硬件驱动进程管理安全系统等等。

2.Dalvik与ART
Dalvik包含了一整套的Android运行环境虚拟机,每个App都会分配Dalvik虚拟机来保证互相之间不受干扰,并保持独立。它的特点是在运行时编译。而在Android 5.X版本开始,ART模式已经取代了DalvikART采用的是安装时就进行编译,以后运行时就不用编译了。

3.Framework
在这里插入图片描述
4.Standard libraries
在这里插入图片描述
5.Application
Application使用NDK开发和Java开发,它们都有Android Manifest文件、Dalvik Classes、Resource Bundle这几个东西。对于开发者来说,与Android系统最直接的接触就是SDK。

1.3 Android App组件架构

Android的App组件架构,通常指Android四大组件,指的是ActivityBroadCastRecieverContentProviderService,它们是组成一个Android App的最基本元素。

1.Android四大组件如何协同工作
在Android四大组件中,Activity作为人机交互的第一界面,负责向用户展示信息和处理结果,而这些信息的来源,可以是通过资源获取,也可以通过Content Provider来获取其他应用的信息,或者是Service从后台计算、下载、处理的结果,当然也可以是通过BroadCast Reciever获取到的广播信息。同时,Android系统还提供了一个信使——Intent,作为信息传递的载体。组件与组件之间通过Intent来通信、传递信息、交换数据

2.Context
在程序中,我们可以将Context理解为当前对象在程序中所处的一个环境,一个与系统交互的过程。
Activity、Service、Application均继承自Context。
Android应用程序会创建应用上下文Context的几个时间点:①创建Application。②创建Activity。③创建Service。

1.4 Android系统源代码目录与系统目录

1.Makefile机制
一个像Android这样的大型工程,它的源文件不计其数,不同的功能、模块,按类型分别放置在不同的目录中,这些模块通常会有一个叫Makefile的文件来进行管理。它定义了一系列的规则来指定模块,哪些文件需要编译,以及这些文件该按照怎样的顺序去编译。甚至,它还可以配置更复杂的功能操作,比如定义编译规则,打包规则等,因为Makefile就像一个shell脚本,不仅可以使用自己的语法,也能调用操作系统的命令。Makefile最大的好处就是自动化编译,同时还可以做到可控制的编译,Android通过Makefile来描述Android各个组件间的联系并指导它们进行自动化编译。Makefile的语法,制定了各个源代码该如何连接并生成相应的可执行程序。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值