博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android系统简介(中):系统架构
阅读量:5104 次
发布时间:2019-06-13

本文共 2033 字,大约阅读时间需要 6 分钟。

Android的系统架构栈分为4层,从上往下分别是Applications、Application framework、Libraries  & Android Runtime、Linux  Kernel。每层提供不同的Service功能以供上层调用。

 

一:Linux Kernel(Linux 内核):

  • 位于Android系统架构栈的底部,整个Android系统基于该层,最新的Android Kitkat 4.4基于Linux Kernel 3.8构建的。它提供的硬件设备抽象接口,以供其他架构层使用。 Linux内核层的主要功能分为2类:提供设备驱动(WIFI、蓝牙、照相机等), 操作系统管理功能(内存、进程管理等等)。
    • •内存管理(Memory Management)
    • •电源管理(Power Management)
    • •硬件抽象(Hardware Abstraction)
    • •进程管理(Process Management)
    • •设备管理(Device Management)

 

  • •安全设置(Security Settings)
  • •网络协议栈(Network Stack)
  • •硬件的驱动程序(Hardware Drivers)

 

二:Libraries  & Android Runtime(Android 原生库和Android运行时):

位于Linux内核层之上,基本由C、C++写的Android原生类库,每个负责特定的硬件设备结合或者响应UI的输入请求,如2D、3D的渲染等。功能列表如下:

•Webkit:浏览器引擎,让网页浏览的应用程序中。

•OpenGL:3D图形

•SGL:2D图形

•Surface Manager:屏幕上窗口管理器,用于视图渲染

•SQLite:数据库引擎

•Open SSL:互联网安全协议,支持SSL、TSL协议

•Media Framework:提供播放、录制各种视频、音频的格式。

•libc:远程C系统库。

•网络:提供对网络栈

•硬件:提供访问硬件的东西。

•操作系统:提供访问操作系统服务

•小工具:提供UI组件集合(如按钮,标签等)

•Free Type: 字体渲染

 

Android运行时包含DVM(Dalvik Virtual machine)和核心Java库, DVM的作用类似JVM(Java virtual machine),它的功能如运行字节码(byte Code),内存管理,线程管理等;它可运行.dex文件格式。

 

Android应用程序打包的流程如下图所示:

 

Core Java Libraries (Java核心库)        

用Java编写的核心API库,提供了强大的功能,如:

    • • Data structures
    • • Utilities
    • • File access 
    • • Network Access
    • • Graphics          

三 Application framework (应用程序框架层)

Android开发调用的系统服务功能,列表如下:

Core Platform Services

• Activity Manager: 管理App的生命周期

• Package Manager :用于找到设备上安装的Apps包

• Window Manager : 将用户的操作,翻译成为指令,发送给呈现在界面上的各个Window

• Resource Manager :同App的资源管理

• Content Providers :多个Apps之间共享数据

• View System: 用于在UI创建一组视图

Hardware Services

• Telephony Service :电话呼叫管理

• Location Service :GPS定位管理

• Bluetooth Service :蓝牙管理

• WiFi Service :WIFI管理

• USB Service :USB管理

• Sensor Service :传感器管理

 

  • GPS定位代码:
  1. LocationManager lm = (LocationManager) Context.getSystemService(Context.LOCATION_SERVICE);

 

四 Applicatoin(Android 应用程序)

Android架构栈的顶层,有系统原生的App以及第三方的App。一般,开发者和用户大都关心本层,因为开发者编写的App要运行在本层。

系统原生的App有:

  • SMS: 短信
  • Dialer :电话
  • Web browser:浏览器
  • Contact manager :通讯录
  • Email :电子邮件
  • Games etc.:内置的一些游戏等

———————————————————-

转载于:https://www.cnblogs.com/xifarm/p/android_architecturestack.html

你可能感兴趣的文章
sicp solutions
查看>>
VALSE2019总结(4)-主题报告
查看>>
浅谈 unix, linux, ios, android 区别和联系
查看>>
51nod 1428 活动安排问题 (贪心+优先队列)
查看>>
C#创建Windows服务程序
查看>>
Spring Boot 2.0系列文章(五):Spring Boot 2.0 项目源码结构预览
查看>>
中国烧鹅系列:利用烧鹅自动执行SD卡上的自定义程序(含视频)
查看>>
Solaris11修改主机名
查看>>
latex for wordpress(一)
查看>>
如何在maven工程中加载oracle驱动
查看>>
Flask 系列之 SQLAlchemy
查看>>
iframe跨域与session失效问题
查看>>
aboutMe
查看>>
【Debug】IAR在线调试时报错,Warning: Stack pointer is setup to incorrect alignmentStack,芯片使用STM32F103ZET6...
查看>>
一句话说清分布式锁,进程锁,线程锁
查看>>
Hash和Bloom Filter
查看>>
SQL Server获取月度列表
查看>>
python常用函数
查看>>
python 描点画圆
查看>>
FastDFS使用
查看>>