Study Android, Step by Step(二) Android 系统简介



    Android是一个为移动设备而设计的包含操作系统、中间件和关键应用程序的软件栈。早期的Android SDK提供了开发工具以及在该平台上用Java开发应用程序需要用到的API。

    . 应用程序框架--可以重用或更换的组件
    . Dalvik 虚拟机--为移动设备进行了优化
    . 集成浏览器--基于开源的Webkit引擎
    . 经过优化的图形技术--由一个定制的2D图形类库支持
    . SQLite--提供结构化的数据存储
    . 多媒体支持--支持常见的声音、视频,以及静态图像格式(MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF)
    . GSM电话--(依赖硬件)
    . 蓝牙、EDGE、3G以及WiFi(依赖硬件)
    . 照相机、GPS、指南针以及加速仪(依赖硬件)
    . 丰富的开发环境--包括一个设备模拟器、调试工具、内存和性能分析工具以及Eclipse IDE插件



Android架构

下面的图片描述了Android操作系统的主要组件。每一部分在下面都将会详细的描述。



应用程序

Android附带了一套核心应用程序,包括一个email客户端、SMS程序、日历、地图、浏览器、电话本以及其它的应用程序。所有的应用程序都用Java编写。


应用程序框架

开发者通过使用核心的应用程序调用所有相同的框架APIs。这个应用程序结构被设计成方便复用的组件。任何的应用程序都可以公布它的功能,而任何其它的应用程序都可以利用这些功能(涉及到安全问题的功能将会被框架禁止)。这样的机制允许组件被用户替换。
下面所有的应用程序是一套服务与系统,包括:
     . 丰富、可扩展的视图菜单,可以用来创建应用程序。这些视图菜单包括列表(list)、网格(grid)、文本框(text box)、按扭(buttons),甚至包括嵌入式的网页浏览器。
     . 内容供应,可以让应用程序访问其它应用程序的数据(比如电话本),或者共享它们自己的数据。
     . 资源管理,提供了无编码的资源例如本地字符串、图形以及布局文件。
     . 提醒管理,允许所有的应用程序中状态栏显示定制的提醒。
     . 活动管理,管理所有应用程序的生命周期以及提供一个后退导航。
    
想了解更多的细节或练习应用程序,请看Writing an Android Application.


类库

Android有一套被Android系统的各个组件使用的C/C++类库。这些功能通过Android应用程序框架向开发者公开。一些核心的类库列表如下:
        系统C类库(System C library) -一个由BSD系统衍生实现的C标准系统类库(libc),使其适应嵌入式的基于Linux的设备
        多媒体类库(Media Libraries) -基于Packet Video''s OpenCORE:这些类库支持播放和刻录许多流行的声音和视频格式,除了静态图片外,还包括MPEG4, H.264, MP3, AAC, AMR, JPG以及PNG等。
        表面管理器(Surface Manager) -管理显示子系统的访问以及将多个应用程序的图形层无缝的融合。
        网页核心类库(LibWebCore) -一个现代浏览器引擎,它提供了Android浏览器和可嵌入式的网页查看器。
        SGL--底层的2D图形引擎
        FreeType -点阵或矢量字体的渲染
       SQLite -一个功能强大的轻量级的能被所有应用程序使用的关系数据库引擎



Android运行环境

 Android 包含了一套核心的核心类库。这个类库提供了Java核心类库的大部分功能。每一个Android应用程序运行在自己的进程中,拥有自己的Dalvik虚拟 机。Dalvik虚拟机已经被优化,使一个设备能够高效的同时运行多个Dalvik虚拟机。Dalvik虚拟机运行经过优化的占用内存资源最小的.dex 格式文件。Dalvik基于寄存器,执行Java编译器编译过的class文件,而这个Java编译器被一个叫"dx"的工具转换成了.dex格式。
Dalvik虚拟机依赖Linux内核来实现底层的功能,比如线程、低阶内存管理。


Linux Kernel

Android的核心系统服务比如安全、内存管理、进程管理、网络栈以及驱动模型依靠Linux2.6来实现。这个核心也起到抽象硬件和其它剩下的软件栈道作用。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值