Android系统架构

    xiaoxiao2024-11-29  64

    应用程序

    是用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内核同时作为硬件和软件之间的抽象层,主要做了两部分的修改:

    binder:提供了自己的进程间通信的手段电源管理。
    最新回复(0)