android 系统框架

从里到外是:Linux内核层,系统运行库层,应用程序框架层,应用程序层。
1.Linux内核层:
android 系统是以Linux操作系统内核为基础,借助Linux内核服务实现硬件设备驱动,进程和内存管理,网络协议栈,电源管理,无线通信等核心功能。

Android内核 对Linux内核进行了增强,增加了一些面向移动设备的特有功能。例如,低内存管理器LMK(Low Memory Keller),匿名共享内存(Ashmem),以及轻量级的进程间通信Binder机制等。这些内核的增强使Android在继承Linux内核安全机制的同时,进一步提升了内存管理,进程间通信等方面的安全性。

2.系统运行库层:这层包括了
库——包括了提供android操作系统的主要功能的全部代码。例如,SQLite库提供了支持应用程序进行数据存储的数据库。WebKit库为浏览Web提供了众多功能。
android运行时——提供一组核心库,可以使开发人员使用Java语言写android程序。还包括dalvik虚拟机,这使得每个android程序在他自己的进程中运行,都拥有一个自己的dalvik虚拟机实例(android应用程序被编译成dalvik可执行文件)。
注:dalvik是特别为android设计,并为内存和CPU受限的电池供电的移动设备进行过优化的专门的虚拟机。在Java中有jvm虚拟机,两者是不同的东西。JVM运行的是.class字节码文件,DVM运行的是.dex文件(Dalvik Executable)。在编译时,java文件变成.class,然后通过dex工具把.class变成.dex文件,然后DVM就可以运行这个文件了.

3.应用程序框架层:对应用开发人员公开android操作系统的各种功能,让开发人员能使用这些功能。包含各种供调用的API。

4.应用程序层:即开发的APP。所有开发的应用程序都在这一层。

顺便记录下android项目的内部结构:

src——项目的所有.Java源代码。
gen——在eclipse中有,包含编译器生成的R.java文件,现在常用的是android studio开发,他的R文件生成目录是:build>generated>source>r>debug>包名>R
libs——可以放入.jar文件
res——存放资源文件,他包含几个子文件夹:drawable(存放图片资源),layout(存放布局文件),values(存放值),studio中还存在mipmap文件夹,默认用于存放系统图标,还可以自己建一些特定功能文件夹比如raw(存放一些原生资源如声音等,通过id取),anim(存放动画资源)等。
build——app模块build编译输出的目录
build.gradle ——app模块的gradle编译文件
AndroidManifest.xml——清单文件。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值