在刚来上海第一家面试的时候,我记得去的是浦东的传音控股有限公司,面试官为了我Android的框架结构是什么?我一下给蒙了,那时候我确实是个菜鸟,很菜很菜,平时写写代码,哪有管过什么系统框架,就知道android的底层是Linux写的,我写的是java代码,结果自然连人事都没让我见,,,今天就重新再学习一遍Android的框架结构,给自己留下再一次的记忆。首先先盗一张图
原谅我盗用这张图,这张图实在是太好了。
这幅图完美的说明了Android的工作机制:
1、Linux Kernel :Android的最底层是基于Linux2.6的内核,这一层为我们的Android手机提供了各个硬件的驱动,如照相机,WiFi,蓝牙,Usb,电源等等。
2、系统运行库层:这一层可以分为两个区域:
(1)、它通过一些C++库为Android提供了一些特性支持,比如;SqLlite数据库支持、OpenGL绘图支持、还有WebKit网页访问的支持。
(2)、而在另一个区域,我们可以把它看作是Android运行时库,它提供了一些核心库,可以使得开发者使用Java对Android的开发,同时它还包含了Dalvik虚拟机,
这使得每个Android程序运行时都有一个Dalivk的实例,它们都是独立的进程,其实Dalivk类似与Java虚拟机,但是Dalivk是结合Android,更适合Android。
(3)、应用框架层:这一层提供了开发应用程序所需要的各种Api,所有的核心程序都是在这个层获取Api。
(4)、应用层:我们开发的程序都在这一层运行。。。。
在它上面开发,还是了解框架的好。