Android系统架构

image

应用程序

是用java语言开发的,开发人员一般位于这一层。

应用程序框架
  • 视图
    包括列表,按钮,网格,文本框等
  • 内容提供器
    使得一个应用程序可以访问另一个应用程序的数据
  • 通知管理器
    使得应用程序可以在通知栏中显示自定义信息
  • 资源管理器
    用于访问非代码资源,如本地字符串,图形,布局文件
  • 活动管理器
    用来管理应用程序的生命周期和导航栏的回退功能
系统运行库
  • Bonic系统C库,专门为嵌入式linux定制的系统c库
  • 媒体库,支持多种常用的是音频视频
  • Surface Manager: 对于显示子系统的管理
  • Webkit,LibWebCore: web浏览器引擎
  • SGL:底层的2D图形引擎
  • 3D libraries: 3D的硬件加速
  • FreeType: 位图和矢量图字体显示
  • SQLite: 轻量级的数据库引擎
Android的运行时环境

每个Android 应用都是运行在自己的进程当中,都拥有一个Dalvik虚拟机实例,Dalvik被设计成一个设备可以运行多个虚拟机系统,Dalvik运行dex的可以执行文件,该文件对于小内存进行了优化,同时虚拟机是基于内存器的,所有的类都经过java编译器编译,然后通过SDK中的dx工具转换为可执行的dex文件

硬件抽象层

并不是所有的驱动都在linux内核里面,有些驱动是在userspace的空间上, 这是由于linux遵守GPL协议,在linux内核中为这些驱动开辟了后门程序,一般情况下,将android移植到其他硬件,只需要移植这些后门程序即可。

Linux内核

Linux内核同时作为硬件和软件之间的抽象层,主要做了两部分的修改:

  1. binder:提供了自己的进程间通信的手段
  2. 电源管理。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值