Android学习笔记(01)——什么是Android

最近开始自行学习Android开发,在CSDN博客记录学习笔记以表决心,同样便于日后复习查阅。
————chuanBo.Wei
一、Android创始人为Andy Rubin(美),后被谷歌收购。
二、Android系统的底层是建立在Linux系统之上的,由操作系统、中间件、用户界面应用软件四层组成,采用软件叠层的方式进行构建(低耦合)。
三、Android的系统架构(这是谷歌官方经典的图片,大致了解,后面会慢慢理解的)


1.Applications(应用程序层)该层提供一些核心应用程序包,例如电子邮件、短信、日历、地图、浏览器和联系人管理等。这些应用程序都Java语言编写的,并且这些应用程序都是可以被开发人员开发的其他应用程序所替换,这点不同于其他手机操作系统固化在系统内部的系统软件,更加灵活和个性化。同时,开发者可以利用Java语言设计和编写属于自己的应用程序,而这些程序与那些核心应用程序彼此平等、友好共处。

2.Application Framework(应用程序框架层):提供一个开放的开发平台。开发者可以完全访问,也是Andriod上层应用开发者所关注的。包括下面的内容:

  • Activity Manager(活动管理器)管理各个应用程序生命周期以及通常的导航回退功能
  • Window Manager(窗口管理器)- 管理所有的窗口程序
  • Content Provider(内容提供器)使得不同应用程序之间存取或者分享数据
  • View System(视图系统)构建应用程序的基本组件
  • Notification Manager(通告管理器)使得应用程序可以在状态栏中显示自定义的提示信息
  • Package Manager(包管理器) - Android系统内的程序管理
  • Telephony Manager(电话管理器) - 管理所有的移动设备功能
  • Resource Manager(资源管理器)提供应用程序使用的各种非代码资源,如本地化字符串、图片、布局文件、颜色文件等
  • Location Manager(位置管理器)提供位置服务
  • XMPP ServiceXMPP服务)提供Google Talk服务 
3.系统运行库层从图中可以看出,系统运行库层可以分成两部分,分别是系统库Android运行时,介绍如下:

3.1Libraries(系统库):系统库是应用程序框架的支撑,是连接应用程序框架层与Linux内核层的重要纽带。其主要分为如下几个:

  • SSLAndorid上通信过程中实现握手

  • System C library - 标准的C system library (libc), 这个对于做嵌入系统的交叉编译工具链都是非常熟悉了,BSD继承来的标准C系统函数库,专门为基于embedded linux的设备定制
  • Media Libraries - 基于PacketVideo's OpenCORE,支持playback和录音,支持多种音视频格式和静态图形格式,包括MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
  • Surface Manager - 提供2D和3D图形
  • SGL - 底层的2D图形渲染引擎
  • 3D libraries - 基于OpenGL ES 1.0 APIs; 使用包括硬件3D加速,以及highly optimized 3D software rasterizer
  • FreeType - bitmap and vector font rendering (字体渲染)
  • SQLite - 小型的关系型数据库引擎 
3.2Android Runtime(

Android运行时):

Android应用程序是采用Java语言编写,程序在Android运行时中执行,其运行时分为核心库Dalvik虚拟机两部分。

核心库 - 提供了Java语言API中的大多数功能,同时也包含了Android的一些核心API,如 android.osandroid.netandroid.media 等。

  Dalvik虚拟机 - Android程序不同于Java me程序,每个Android应用程序都有一个专有的进程,并且不是多个程序运行在一 个虚拟机中,而是每个Android程序都有一个Dalivik虚拟机的实例,并在该实例中执行。Dalvik虚拟机是一种基 于寄存器的Java虚拟机,而不是传统的基于栈的虚拟机,并进行了内存资源使用的优化 以及支持多个虚拟机的特 点。需要注意的是,不同于Java me,Android程序在虚拟机中执行的并非编译后的字节码,而是通过转换工具dx 将Java字节码转成dex格式的中间码

4.Linux Kernel(Linux内核):Linux version 2.6.x,包括安全,存储管理,进程管理,网络stack,驱动模块,电源管理。

参考文章:http://www.cnblogs.com/royenhome/archive/2010/04/24/1719293.html



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值