Android应用结构分析

来源:互联网 发布:淘宝联盟自动上货软件 编辑:程序博客网 时间:2024/04/29 19:14

关于Android Studio的安装以及使用请参照Android Studio中文社区 ,这里就不再做详细介绍。下面开始主要内容:
Android其本质就是在标准的Linux系统上增加了Java虚拟机Dalvik,并在Dalvik虚拟机上搭建了一个JAVA的application framework,所有的应用程序都是基于JAVA的application framework之上。
Android主要应用于ARM平台,但不仅限于ARM,通过编译控制,在X86、MAC等体系结构的机器上同样可以运行。
这里写图片描述
Android分为四个层,从高层到底层分别是:应用程序层、应用程序框架层、系统运行库层、linux核心层。
1. 应用程序层
所有的应用程序都是使用JAVA语言编写的,每一个应用程序由一个或者多个活动组成,活动必须以Activity类为超类,活动类似于操作系统上的进程,但是活动比操作系统的进程要更为灵活,与进程类似的是,活动在多种状态之间进行切换。
利用JAVA的跨平台性质,基于Android框架开发的应用程序可以不用编译运行于任何一台安装有android系统的平台,这点正是Android的精髓所在。
2. 应用程序框架层(framwork层)
为应用程序提供系统的API。通过Android的应用程序框架,开发人员可重用各种组件和服务。应用程序的框架组成部分:
- UI组件:包括列表,文本框,按钮等UI组件,是用户可视的部分。
- Content Providers:提供了一种应用程序程序可实现数据的访问和共享的机制。
- Notification Manager:能让应用程序将自己的警告信息显示在状态栏上,如显示收到新短信,提示电池信息。
- Activity Manager:管理应用程序的生命周期,并提供应用程序页面退出的机制。
3. 系统运行库
主要包含一些核心的C/C++库,这些库能通过JNI技术供系统的各种组件使用。这些库包括:
- 系统C库:从BSD继承来的标准C库。
- 媒体库:包括多种常用的音频,视频格式回放和录制。同时支持静态图像文件,支持MPEG4,MP3,AAC,JPG,PNG,H.264,AMR等多种编码格式。
- Surface Manager:管理显示子系统,并为多个应用程序提供2D和3D的无缝融合。
- LibWebCore:浏览器引擎。
- SGL:底层的2D图形引擎。
- 3D librarie:提供3D加速。
- FreeType:提供位位图和矢量的字体显示。
- SQLite:数据库应用。
4. linux核心层
Android 的核心系统服务依赖于 Linux 2.6 内核 ,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。

0 0