安卓是什么?

     安卓是一个由操作系统,中间件和常用应用软件组成的软件栈。安卓软件开发工具包提供的开发工具和应用程序接口满足了基于安卓平台的使用java语言进行应用程序开发。

     特性

  • 应用程序框架       使组件的复用和替换成为可能
  • Dalvik虚拟机        对移动设备的优化
  • 集成浏览器           基于开源的webkit引擎
  • 优化显卡               采用定制的2D图形库;3D图形基于OpenGL ES 1.0 规范(可选硬件加速)
  • SQLite                  结构化的数据存储
  • 媒体支持               兼容常用的音频、视频、图片格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG,    GIF)
  • GSM 电话(硬件相关)        
  • 丰富的开发环境    包括设备模拟器、调试工具、内存及性能分析和一个eclipse插件

    安卓体系结构

    下图展示了安卓操作系统的主要组件。每个部分在下面进行详细描述。

应用软件

安卓预装了一套核心应用软件,包括一个Email客户端、短信程序、日历、地图、浏览器、通讯录等。所有应用程序使用java语言进行编写。

应用程序框架

通过安卓提供的这个开放的开发平台,开发人员可以构建极其丰富而又有意思的应用程序,可以自由的支配设备上的硬件、访问位置信息、运行后台程序、给予用户提示、在状态栏添加通知等。

开发人员拥有同核心应用程序一样的访问框架应用程序接口的权限。应用程序的体系结构旨在能够对组件进行更好的重用。允许任何应用程序开放其功能接口,其它应用程序可以使用这些功能(只要服从框架的安全约束),基于同样的机制,允许用户替换组件。

下面所有的应用程序是一套服务和系统,包括:

  • 一套丰富而又可扩展的用于构建应用程序的Views,包括lists, grids, text boxes, buttons,以及一个内嵌的web浏览器
  • Content  Providers 访问其它应用程序的数据(如通讯录), 或者共享数据
  • Notification Manager允许应用程序在状态栏显示定制的通知
  • Actitvity Manager用于管理应用程序的生命周期并且提供一个通用的回退导航功能

Libraries

安卓包含一套被用于安卓系统中的各种组件的C/C++库。这些库函数通过安卓应用框架暴露给开发人员,一些核心库如下所示

  • System C library - 标准C系统库的BSD实现,基于linux的嵌入式视听设备
  • Media Libraries - 基于PacketVideo的开放式内核;    支持回放和主流的音频和视频格式,支持静态图片文件格式包括 MPEG4, H.264, MP3, AAC,    AMR, JPG,  PNG
  • Surface Manager - manages access to the display    subsystem(管理显示模块的权限) and seamlessly composites 2D and 3D graphic layers from multiple    applications(无缝合成多个应用的2维和3维图形层)
  • LibWebCore - a modern web browser engine which    powers both the Android browser and an embeddable web view
  • SGL - the underlying 2D graphics    engine
  • 3D libraries - an implementation based on    OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration    (where available) or the included, highly optimized 3D software    rasterizer
  • FreeType - bitmap and vector font rendering
  • SQLite - a powerful and lightweight relational    database engine available to all applications

Android Runtime

Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language.

Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool.

The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.

Linux Kernel

Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值