A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 我的最优解 中级黑马   /  2015-6-14 23:12  /  700 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Android体系结构


1.操作系统层(Linux内核)
1)  Linux内核版本2.6,使用Linux2.6作为操作系统。
2)  位于硬件和软件堆之间的抽象层
3)  核心服务:安全机制,内存管理,进程管理,网络,硬件驱动
2. 各种库Lib和android运行环境
Lib:
1)  C/C++库:被各种Android组件使用
2)  通过应用程序框架开发者可以使用其功能包括:
a.       媒体库:MPEG4,H.264,MP3,JPG,PNG…….
b.       WebKit/LibWebCore:Web浏览引擎
c.       SQLite关系型数据库引擎
d.       2D,3D图形库,引擎

运行时环境:
1)  核心库提供的Java功能
2)  Dalvik虚拟机依赖于Linux内核,例如线程或底层内存管理
3)  设备可以运行多个Dalvik虚拟机,每一个Android应用程序在它自己的Dalvik VM实例中运行
4)  VM执行优化的Dalvik可执行文件(.dex)
5)  Dx工具把编译过的Java文件转换为.dex文件
6)  Dalvik虚拟机和一般Java虚拟机不同,它执行的不是Java标准的字节码,而是Dalvik可执行格式.dex。二者最大的区别在于Java VM是基于栈的虚拟机,而Dalvik是基于寄存器的虚拟机,后者最大的好处在于可以根据硬件实现更大的优化,这更符合移动设备的特点。
3. 应用程序和应用程序框架
1)  核心应用,例如联系人,电子邮件,电话,浏览器,日历,地图……
2)  Android的应用程序主要是用户界面方面的,通常以Java程序编写,其中还可以包含各种资源文件(放置在res目录中)。Java程序及相关资源经过编译后,将生成一个APK包。同时应用程序的开发者还可以使用应用程序框架层的API实现自己的程序。
3)  充分访问所有核心应用框架API
4)  简化组件的重用
5)  Android的应用程序框架为应用程序层的开发者提供APIs
6)  一个基本的android应用程序可以利用应用程序框架中的以下几个部分:
a.       Activity(活动)
b.       Broadcast Intent Receiver(广播意图接收者)
c.       Service(服务)
d.       Content Provider(内容提供者)

6 个回复

倒序浏览
底层结构是Linux,那是不是先需要学习这门语言才行啊?
回复 使用道具 举报
看不懂,,,还没入学.
回复 使用道具 举报
人在旅途~东营 发表于 2015-6-14 23:19
底层结构是Linux,那是不是先需要学习这门语言才行啊?

Linux通俗来讲是个操作系统。。
回复 使用道具 举报
很不错,谢谢楼主分享!
回复 使用道具 举报
楼主大善,还希望能多多阐述呀...
回复 使用道具 举报
哎呦,不错哦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马