• Android系统架构


    Android系统架构师安卓系统的体系机构,Android的系统架构和其他操作系统一样,采用了分层的架构,共分为4层,从高到低分别是Android应用层,Android应用架构层,Android系统运行层和Linux内核层。

    1.  应用程序

    顶层中有所有的Android应用程序,包括通讯录、浏览器等,你写的应用程序也被安装在这层;所有的的应用程序都是使用Java语言编写的。

    2.   应用框架层

    这一层主要提供构建应用程序是可能用到的各种API,Android自带的一些核心应用就是使用这些API完成的,开发者也可以通过使用API来构建自己的应用程序

    活动管理者(Activity Manager):控制应用程序生命周期和活动栈的所有方面

    内容提供器(Content Providers):允许程序之间发布和分享数据。

    资源管理器(Resource Manager):提供对非代码嵌入资源的访问,如字符串、颜色设置和用户界面布局。

    通知管理器(Notification Manager):允许应用程序显示对话框或者通知给用户

    视图系统(View System):一个可拓展的视图集合,用于创建应用程序用户界面

    3.  系统运行库层

    1)  程序库

    Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。他们通过Android应用程序框架为开发者提供服务,以下是一些核心库:

    *系统C库(libc):一个从BSD继承来的标准C系统函数库,他是专门为基于embedded linux的设备定制的媒体库(Media Framework):基于Packet Video opencore; 该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括 MPEG4。H264、MP3、AAC、AMR、JPG、PNG。

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

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

    *3D libraries:基于OpenFLES1.0 APLs实现,该库可以使用硬件3D加速或者使用高度优化3D软加速。

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

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

    2) Android运行库

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

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

    Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。

    4. Linux内核层

    Android系统基于Linux2.6内核,这一层为Android设备各种硬件提供了底层驱动,如显示驱动,音频驱动,照相机驱动,蓝牙驱动,WIFI驱动,电源管理等

    区别DVM与JVM

    1.  首要差别

    1Dalvik:基于寄存器,编译和运行都会更快些

    JVM:基于栈,编译和运行都会慢一些

    2.  字节码的区别

    Dalvik:执行.dex格式的字节码,是对.class文件进行压缩后产生的,文件变小

    JVM:执行.class格式的字节码

    3.  运行环境的区别

    Dalvik: 一个应用启动都运行一个单独的虚拟机运行在一个单独的进程中

    JVM:只能运行一个实例,也就是所有应用都运行在同一个JVM中

  • 相关阅读:
    BZOJ4245: [ONTAK2015]OR-XOR(前缀和)
    [HDU 4433]locker[DP]
    近期刷题的c语言总结。
    《BackboneJS框架的技巧及模式》(4)完结篇
    x+2y+3z=n的非负整数解数
    [置顶] 程序员看婚姻
    BNU29368:Check the Identity(栈)
    Python解决codeforces ---- 1
    带你走进EJB--MDB实现发送邮件(3)
    JIRA简介
  • 原文地址:https://www.cnblogs.com/Ayinger/p/10968459.html
Copyright © 2020-2023  润新知