• Android平台及其架构(部分转载)


    一.Android的系统架构

    1.      应用程序

        同Android系统一起发布的核心应用程序,如email 客户端,SMS 短消息程序,日历,地图,浏览器,联系人管理程序等。 这些应用程序都是用java编写的。

    2.      应用程序框架

         开发者可以用它开发应用,其中包括:

    • 丰富而又可扩展的视图(Views):可以用来构建应用程序, 它包括列表(lists),网格(grids), 文本框(text boxes),按钮( buttons), 甚至可嵌入的web 浏览器。

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

    • 资源管理器(Resource Manager):提供非代码资源的访问,如本地字符串,图形,布局文件( layoutfiles )

    • 通知管理器(Notification Manager): 使得应用程序可以在状态栏中显示自定义的提示信息

    • 活动管理器( Activity Manager):用来管理应用程序生命周期并提供常用的导航回退功能

    当我们开发Android应用程序时,就是面向底层的应用程序框架进行的。从这个意义上来讲,Android系统上的应用程序都是完全平等的,不管是Android系统提供的程序,还是普通开发者提供的程序,都是可以访问Andorid提供个的API框架。

    3.     类库

             一些C/C++核心库,方便开发者进行应用的开发。一般而言,Android应用开发者不能直接调用这些类库,但是可以通过应用程序框架来调用这些库。

    • 系统C 库(libc):专门为基于embedded linux的设备定制的

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

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

    • webkit/LibWebCore :Web 浏览引擎,支持Android 浏览器和一个可嵌入的web 视图

    • SGL:底层的2D图形引擎

    • 3D libraries : 基于OpenGL ES 1.0 APIs 实现的3D引擎

    • FreeType :位图(bitmap)和矢量(vector)字体显示

    • SQLite :轻型关系型数据库引擎

    4.      Android 运行时环境

    • Android 核心库:提供了JAVA库的大多数功能
    • Dalvik 虚拟机:依赖于linux 内核的一些功能,比如线程机制和底层内存管理机制。同时虚拟机是基于寄存器的,Dalvik 采用简练、高效的byte code 格式运行,它能够在低资耗和没有应用相互干扰的情况下并行执行多个应用,每一个Android 应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik 虚拟机实例。Dalvik 虚拟机中可执行文件为.dex文件,该格式文件针对小内存使用做了优化。所有的类都经由JAVA 编译器编译,然后通过SDK中的"dx" 工具转化成.dex 格式由虚拟机执行。
    5.      Linux 内核

              Linux 内核作为硬件和软件栈之间的抽象层。Android 的核心系统服务: 安全机制、内存管理、进程管理、网络、硬件驱动

    201205~1

  • 相关阅读:
    assert的使用
    网络性能测试工具iperf的注意事项
    sskykeygen + sshcopyid避免ssh/scp每次输入密码
    遗留系统维护的思考
    IList(T)转换DataSet
    可扩展性(Extensibility): 构建灵活系统的思考
    页面加一个"数据正在载入,请等待... Loading, please wait..."的提示
    优化JavaScript
    创业与老子的顺其自然
    实用正则表达式匹配和替换
  • 原文地址:https://www.cnblogs.com/KimmyLee/p/3831773.html
Copyright © 2020-2023  润新知