zoukankan      html  css  js  c++  java
  • Android系统层次结构及分析

    1、android分为四层:

    应用程序层(Applications)、应用程序框架层(Application Framework)、系统运行库层(Libraries和Android Runtime)和Linux内核层(Linux Kernel)。

    2、应用程序层:

    所有的应用程序都是使用java语言编写的,通过调用应用程序框架层(Application Framework)所提供的API来完成。

    3、应用程序框架层:

    为开发人员提供了可以完全访问核心应用程序所使用的API框架。

    •活动管理器:管理应用程序生命周期并提供常用的导航回退功能。比如:开启应用程序需要的资源和退出应用程序时需要的释放资源。

    •窗口管理器:管理所有开启的窗口程序。

    •内容提供器:使应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们的数据。

    •视图系统:可以用来构建应用程序,它包括列表list、网格grid、文本框text box、按钮button、图形绘制等,以及可嵌入的web浏览器

    •通知管理器:使应用程序可以再状态栏中显示自定义的提示信息。

    •包管理器:管理所有安装在Android系统中的应用程序。比如:信息查看和卸载程序等。

    •资源管理器:提供各种资源供应程序使用。比如:字符资源、图像资源、音频资源。

    •硬件服务:电话拨打和接听等相关功能、管理地图服务的相关功能、有关蓝牙服务的相关功能、WIFI服务相关功能、USB服务相关功能、传感器服务相关功能。

    4、系统运行时库:

    系统运行库层包括程序库和Android运行库两部分

    1)程序库:Android包含一些C/C++库,这些库能被Android系统中的不同组件使用,它们通过应用程序框架为开发者提供服务,核心库的功能介绍:

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

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

    SQLite:对于所有应用程序可用、功能强劲的轻型关系型数据库引擎

    OpenglES支持OpenGL ES1.x和OpenGL ES 2.0该库可以使用硬件3D加速或者使用高度优化的3D软加速

    FreeType:位图、矢量和字体显示

    Webkit:最新的Web浏览器引擎,支持Android浏览器和一个可嵌入的Web服务器。

    SSL:安全通信相关技术处理,为网络通信提供安全及数据完整性的一种安全协议。

    Libe:Android并没有采用glibc作为C库,而是采用了Google自己开发的Bionic Lib。它从BSD继承了标准的C系统函数库,是专门为基于嵌入式Linux设备定制的。

    2)Android运行库:

    Android运行时库又分为核心库和Dalvik虚拟机两部分。核心库提供了Java语言核心库的大多数功能,这里主要通过JNI的方式向应用程序框架层提供调用底层程序库的接口。Dalvik虚拟机是为了能同时高效地运行多个VMs而实现的。

    5、Linux内核层:

    Android依赖于Linux2.6内核提供的核心系统服务,例如安全、内存管理、进程管理、网络栈、驱动模块等,Android对内核进行了增强。

  • 相关阅读:
    十个提升你Emacs生产力的高招
    emacs 操作集锦
    分页
    JAVA获取CLASSPATH路径
    用Spring的mappingDirectoryLocations来配置Hibernate映射文件
    ajax请求后台,返回json格式数据,模板!
    javascrip中的confirm小技巧
    如何将word图片粘贴到eWebEditor里面
    如何将word图片粘贴到wangEditor里面
    如何将word图片粘贴到xhEditor里面
  • 原文地址:https://www.cnblogs.com/elleniou/p/3029845.html
Copyright © 2011-2022 走看看