Android系统的理解(Android系统的框架)

图为Andorid官方给出的整个Android系统的框架图

这里写图片描述

Andorid的系统源代码数量非常庞大,这些代码主要分为4层,从低到高为Linux内核层、系统库层、应用程序框架层和应用程序层,分别由驱动工程师、系统工程师、框架工程师和应用程序工程师

1、Linux内核层(图中的Linux Kernel)

Linux内核层为Andorid框架层提供了非常核心的支持,比如Camera驱动(Camara Driver)、USB驱动(USB Driver)、WIFI驱动(WIFI Driver)还有Andorid系统自己实现的一些驱动,比如非常重要的进程间通信Binder驱动(Binder(IPC) Driver),Linux内核层就好比房子的地基一样,只有地基稳固房子才会稳固。Linux内核层稳定高效,上层就会运行的更流畅、更稳定、更高效。

2、系统库层(Libraries 和 Android Runtime)

Libraries 主要包括:

SQLite库、Webkit库、OpenGL库。
SQLite库支持数据库,Webkit库支持浏览器,OpenGL库支持3D图像

Android RunTime 包括:

JAVA核心库(Core Libraries )和 虚拟机(Dalvik Virtual Machine)

Android系统4.4以前是Dalvik虚拟机,4.4以后采用ART虚拟机,提高了应用程序启动时间、运行速度、电量消耗更少。

3、应用程序框架层(Application Framework)

它主要实现Android系统的核心服务和提供API来开发应用程序。
这一层可以分为很多模块

  • ActivityManager:管理Android四大组件和进程内存
  • WindowManger:管理Android窗口
  • PackageManager:包管理服务,主要是apk的安装和权限分配
  • PowerManager:电源管理
  • MultMedia:多媒体
  • View System:UI的绘制和UI事件的分发
  • ·······

4、应用程序层

包含系统应用和第三方应用
系统应用包含设置、相机、等
第三方应用包含QQ、微信、等

作为一个Android工程师,不管你是负责框架开发还是应用程序开发或者kernel开发,你都可能涉及不是自己这一层,所以有必要理解Android多层,因为只有理解了Android多层之后,你才会对Android系统有个整体的把握。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值