1.Linux内核层(Linux kernel)

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

2.系统运行库层(Libraries)

这一层通过一些C/C++库来为Android系统提供了主要的特性支持。
如:SQLite库提供了数据库的支持,OpenGL|ES库提供了3D绘图的支持,WebKit库提供了浏览器内核的支持等。

这一层还有Android运行时库(Android Runtime),它主要提供了一些核心库,允许开发者中Java语言来编写Android应用。另外,它包含了Dalvik虚拟机,Dalvik使得每个Android应用都能运行在独立的进程当中,默认内存16MB。

3.应用框架层(Application Framework)

主要提供了构建应用程序时可能用到的各种API。(所谓的源码,就是这些API了吧!再往下Libraries和LinuxKernel的源码,给我看我也看不懂!)

4.应用层(Applications)

所有安装在手机上的应用程序都是属于这一层,包括系统自带的联系人,短信,音乐等。还有你自己开发的应用程序。

Android应用开发特色(其实除了四大组建,别的都不算是特色吧!)

1.四大组件
Android系统提供的四大组件分别是:

  • Activity(活动)
  • Service(服务)
  • Broadcase Receiver(广播接收器)
  • Content Provider(内容提供者)

这是作为一个Android程序员必须要精通的东西,哎,小鸟我也就Activity理解的比较好一些,别的都一塌糊涂。Keep it up。

2.丰富的系统控件
就是自定义控件或者组件,需要对View有足够的认识。我的短板呀!!!

3.SQLite 数据库
这部分也是我的短板,作为一个程序员,数据库不得知道好几个?什么MYSQL,ORACLE,SQL Server,还有这个轻量级的SQLite。短板太多,这水全漏了。。。。

4.地理位置定位
手机最有特点的功能。需要了解百度SDK,高德SDK,腾讯SDK等。

5.强大的多媒体
Linux内核给了它那么多驱动,这些东西不是必须得有?

6.传感器
这些算是手机厂商给提供的硬件和驱动吧,我是这么理解的。