Android系统架构是学习Android最基本的知识点,经常在技术面试过程中涉及到有关问题,接下来对Android系统架构进行总结。

Android官方文档提供资料显示:Android系统分为4个层次,从低到高依次为Linux kernel(Linux内核层),Libraries和Android运行时Runtime,Android Framework,Applications。

1.Applications应用层

该层主要是运行在Andorid系统上的应用程序,如Home,SMS,Contacts等,一般这些应用程序都是用Java语言编写,通过Android Framework层提供的API。也可以通过JNI方式,配合Android NDK开发原生态应用程序,这样可以提高程序运行效率,也可以提高应用程序安全性,增加反编译的难度,一般涉及核心业务逻辑部分需要NDK支持。

2.Android Framework层

该层主要为应用层提高各种服务,提供API框架,它的实现主要通过JNI技术调用底层Native Service。该层分为以下几个模块:

活动管理器Activity Manager:主要用于管理应用程序生命周期,例如开启应用程序需要资源,关闭应用程序释放资源

窗口管理器Window Manager:管理所有开启的窗口

包管理器Package Manager:主要管理安装的在Android操作系统上的所有应用程序,查看信息卸载应用程序

资源管理器Resouces Manager:管理应用程序需要的各种资源文件

通知管理器Notification Manager:在通知栏显示自定义通知信息

内容提供器Content Providers:应用程序间数据共享

视图系统View System:提供各种视图 按钮,文本框,列表等

硬件服务Hardware Service :Telphony Manager,Bluetooth Manager,Wifi Manager ,Location Manager等

3.Libraries 和Runtime

核心库

Surface Manager:对显示子系统进行管理,并且提供多个应用程序提供2D,3D图层的无缝融合

SQLite:轻型关系数据库引擎

WebKit:Android浏览器内核引起

FreeType:位图和矢量字体

Media Framework:基于PacketVideo OpenCORE,支持多种视频音频和图片

OpenGL/ES:支持OpenGL/ES1.X OpenGL/ES2.0

SSL:安全通信技术处理

Libc:Google自己开发的C语言库,继承Linux系统库

Android运用时

包括核心库和Dalvik虚拟机

4.Linux内核层

Android 是基于Linux 2.6版本提供核心服务,例如安全,线程管理,内存管理,网络栈,驱动模块

Display Driver ,Bluetooth Driver,Camera Driver ,Binder Driver,Power Manager,Memory Manager,Wifi Manager等

更多相关文章

  1. Android开发必备的免费资源和工具
  2. Android性能优化——合理进行内存管理
  3. 常用Android应用程序中的Intent动作
  4. Android中获取系统上安装的APP信息
  5. :Android核心模块及相关技术
  6. Activity 属性设置参数说明
  7. android应用程序跳转到系统的各个设置页面
  8. 启动android后没有应用图标,找不到应用程序
  9. 35 个你必看的 Android(安卓)库

随机推荐

  1. Android开源项目:GifView——Android显示G
  2. Android(安卓)自定义View 性能分析学习
  3. html5开发全屏android软件
  4. 如何将Android(安卓)源码中编译出的apk进
  5. Android用yasea集成推流服务并实现美颜滤
  6. Android中View和ViewGroup事件分发拦截机
  7. Android(安卓)壁纸设置_01
  8. Android(安卓)ijkplayer编译(支持https协
  9. Android(安卓)KitKat 4.4 使用Chrome Dev
  10. Android游戏开发学习笔记(三):视频的播放