• 1.1Android系统架构


    Android目前是一个非常优秀的嵌入式系统,具有非常完善的系统架构!

    Android系统架构分为4层:(从下至上)

    第一层:Linux内核层,包括驱动程序以及管理内存、进程、电源等资源的程序

        因为Android是基于Linux内核的,所以Android和其他Linux系统的核心部分的差异很小;

        不同版本的Android使用的Linux内核版本有差异,所以不同Android版本的驱动程序可能不通用;

    第二层:c/c++代码库,包括使用C/C++编写的代码库(Linux下的.so文件使用C/C++编写的),以及嵌入到APK程序中的NDK代码,也包括Dailvk虚拟机的

        运行时(Runtime);

        Dailvk虚拟机是Google公司设计的基于Android平台的虚拟机,它可以支持已转换为 .dex(即Dalvik Executable)格式的Java应用程序的运行;

        这些库能被Android系统中不同的组件使用,通过Android应用程序为开发者提供服务;

        一些核心库:

        (1)系统C库:一个从BSD继承来的标准C系统函数库(libc),是专门为基于embedded linux的设备定制的;

        (2)媒体库:基于PacketVideo OpenCORE,支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG;

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

        (4)LibWebCore:最新的web浏览器引擎,支持Android浏览器和一个可嵌入的web视图;

        (5)SGL:底层的2D图形引擎;

        (6)3D Libraries:基于OpenGL ES 1.0 APIs实现,该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速;

        (7)FreeType:位图和矢量字体显示;

        (8)SQLite:一个对于所有应用程序可用,功能强劲的轻型关系数据库引擎;

        Android运行库:

        Android包括了一个核心库,该核心库提供了Java编程语言核心库的大多数功能。

        每一个Android应用程序都在自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例,Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由Java编译器编译,然后通过SDK中的dx工具转化成.dex格式由虚拟机执行;

    第三层:Android SDK API,直接面向应用程序的Java APK

        这一层可以成为Java API层,因为Android SDk API是用Java语言编写的。实际上这一层就是用Java编写的各种Library,只不过这些library是基于Dalvik虚拟机格式的。

    第四层:应用程序

        这一层是所有的Android用户都要接触到的,因为这一层相当于Android的UI。所有的Android应用程序(包括拍照,电话,短信,Android的桌面,浏览器以及各种游戏)都属于这一层。主要依靠第三层中的Android SDK API来完成各种功能。

    以上部分内容转自【http://blog.chinaunix.net/uid-25838286-id-3011173.html,谢谢分享!】

        

        

  • 相关阅读:
    Ubuntu-12.04.5 安装 oracle 12.2.0.1 数据库database软件
    Ubuntu-12.04.5 再再再次安装 oracle 11.2.0.4 数据库database软件(又不一样了!)
    Ubuntu-4.10 安装 oracle 11.2.0.4 数据库database软件(最古老的ubuntu)
    PATH add
    可望不可即 可望不可及
    天干地支
    24节气
    二进制、十进制和十六进制转换器
    信用卡三磁道
    ISO8583
  • 原文地址:https://www.cnblogs.com/mch0dm1n/p/5431339.html
Copyright © 2020-2023  润新知