Android群英传读书笔记——第一章:Android体系与系统架构

第一章目录

1.1 Google生态系统

1.2 Android系统架构 

  • 1.2.1 Linux
  • 1.2.2 Dalvik与ART
  • 1.2.3 Framework
  • 1.2.4 Standard libraries
  • 1.2.5 Application

1.3 Android App组件架构 

  • 1.3.1 Android四大组件如何协同工作
  • 1.3.2 应用运行上下文对象

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

  • 1.4.1 Android系统源代码目录
  • 1.4.2 Android系统目录
  • 1.4.3 Android App文件目录

第一章读书笔记

1.1 Google生态系统

底层通过最快的C语言保证效率,上层使用Java简单,快速的进行开发

1.2 Android系统架构

Android大致分为四层:

  • Linux内核层
  • 库和运行时
  • Framework层
  • 应用层

1.2.1 Linux

Android最底层最核心的部分,包括:

  • 硬件驱动
  • 进程管理
  • 安全系统
  • 等等

1.2.2 Dalvik与ART

Dalvik采用运行时编译,ART模式已经取代了Dalvik,ART采用安装时编译

扫描二维码关注公众号,回复: 2906829 查看本文章

1.2.3 Framework

Framework是应用层的下一层,为应用层提供各种API,各种组件和服务来支持我们的开发

1.2.4 Standard libraries

包含了一些标准库,也就是开发者在开源环境中可以使用的开发库

1.2.5 Application

我们开发者接触最多的就是应用层

1.3 Android App组件架构

Android四大组件

  • Activity(活动)
  • Service(服务)
  • BroadCastReciever(广播接收器)
  • ContentProvider(内容提供器)

1.3.1 Android四大组件如何协同工作

  • Activity:人机交互的第一界面,负责向用户展示信息和处理结果
  • Service:从后台计算、下载、处理结果信息
  • BroadCastReciever:获取广播信息
  • ContentProvider:获取其他应用的信息
  • Intent:信息传递的载体,组件与组件之间通信、传递信息、交换数据

1.3.2 应用运行上下文对象

Activity、Service、Application都继承自Context

创建Context的时机就是在创建Context的实现类的时候

在Activity中获取Context对象时可以直接使用this,匿名内部类就必须执行xxxActivity.this

getApplicationContext()获取的是整个应用的上下文,跟组件的上下文是有区别的

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

1.4.1 Android系统源代码目录

  • Makefile
  • bionic(bionic C库)
  • bootable(启动引导相关代码)
  • build(存放系统编译规则等基础开发包配置)
  • cts (Google兼容性测试标准)
  • dalvik(dalvik虚拟机)
  • development(应用程序开发相关)
  • external(android使用的一些开源的模块)
  • frameworks(Framework框架核心)
  • hardware(厂商硬件适配层HAL代码)
  • out(编译完成后的代码输出目录)
  • packages(应用程序包)
  • prebuilt(x86和arm架构下预编译资源)
  • sdk(sdk及模拟器)
  • system(底层文件系统库、应用及组件)
  • vendor(厂商定制代码)

Makefile机制:

  • 定义了一系列规则来指定模块,哪些文件需要编译,按照怎么样的顺序编译
  • 描述Android 各个组件间的联系并指导它们进行自动化编译
  • 每一个最小的功能单位的目录下,都有一个Makefile文件,通过一级一级的向上传递,把源代码联系在一起

1.4.2 Android系统目录

通过Linux的ls命令查看系统的根目录:

  • /system/app/ :系统App
  • /system/bin/:Linux自带的组件
  • /system/build.prop:系统的属性信息
  • /system/fonts/:系统字体存放目录
  • /system/framework/:系统核心文件、框架层
  • /system/lib/:共享库(.so)文件
  • /system/media/:系统提示音、系统铃声
  • /system/media/audio/:系统默认的铃声
  • /system/media/alarms/:闹铃提醒
  • /system/media/notification/:短信或提示音
  • /system/media/ringtones/:来电铃声
  • /system/media/ui/:界面音效
  • /system/usr/:用户配置文件
  • /data/app/:用户大部分数据信息
  • /data/data/:App数据信息、文件信息、数据库信息
  • /data/system/:手机各项系统信息
  • /data/misc/:大部分的Wi-Fi、VPN信息

1.4.3 Android App文件目录

关于Eclipse和Android Studio的文件目录的区别,在第二章中会进行详细讲解

总结

这一章主要讲了一些底层的基础理论知识,我们对这些基本的理论要有一些了解即可,也不用太深,但是也不能一概不知,第一章是学习的开始,慢慢加油吧!

猜你喜欢

转载自blog.csdn.net/pengbo6665631/article/details/80964083