《精通移动App测试实战:技术、工具和案例》一1.2 Android系统架构
本节书摘来自异步社区《精通移动App测试实战:技术、工具和案例》一书中的第1章,第1.2节,作者 于涌 , 王磊 , 曹向志,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.2 Android系统架构
从图1-1中我们不难发现Android的系统架构采用了分层的架构,分为4个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。那么它们每层都是用来做什么的呢?
1.应用程序层
应用层是用Java语言编写的运行在Android平台上的程序,比如一些手机游戏和基于手机端的应用等,如图1-1所示,最上面的Applications层。
2.应用程序框架层
应用程序框架层是编写Google发布的核心应用时所使用的API框架,开发人员可以使用这些框架来开发自己的应用程序,这样可以简化程序开发的架构设计,如图1-1所示,第二层,即Application Framework层,其提供的主要API框架如下。
活动管理器:主要用来管理应用程序声明周期,并提供常用的导航退回功能。
窗口管理器:主要用来管理所有的窗口程序。
内容提供器:它可以让一个应用访问另一个应用的数据,或共享它们自己的数据。
视图管理器:主要用来构建应用程序,比如列表、表格、文本框及按钮等。
通知管理器:主要用来设置在状态栏中显示的提示信息。
包管理器:主要用来对Android系统内的程序进行管理。
电话管理器:主要用来对联系人及通话记录等信息进行管理。
资源管理器:主要用来提供非代码资源的访问,例如本地字符串、图形及布局文件等。
位置管理器:主要用来提供使用者的当前位置等信息,如GPRS定位。
XMPP Service:XMPP服务。
3.系统运行库层
系统运行库层主要提供Android程序运行时需要的一些类库,这些类库一般是使用C/C++语言编写的。另外,该层还包含了Android运行库。如图1-1所示,第三层,系统运行库层中包含的主要库如下。
libc:C语言标准库,系统最底层的库,C语言标准库通过Linux系统来调用。
Surface Manager:主要管理多个应用程序同时执行时各个程序之间的显示与存取,并且为多个应用程序提供2D和3D图层的无缝融合。
SQLite:关系数据库。
OpenGL|ES:3D效果的支持。
Media Framework:Android系统多媒体库,该库支持多种常见格式的音频、视频的回放和录制。
WebKit:Web浏览器引擎。
SGL:2D图形引擎库。
SSL:位于TCP/IP协议与各种应用层协议之间,为数据通信提供支持。
FreeType:位图及矢量库。
系统运行库层中还包含了一个Dalvik虚拟机,相对于桌面系统和服务器系统运行的虚拟机而言,它不需要很快的CPU计算速度和大量的内存空间。因此,它非常适合在移动终端上使用。
4.系统内核层
Android的核心系统服务基于Linux 2.6内核,该内核拥有安全性、内存管理、进程管理、网络协议栈和驱动模型等。同时它也作为硬件和软件栈之间的抽象层,而Android更多的是需要一些与移动设备相关的驱动程序,比如显示驱动、USB接口驱动、蓝牙驱动、电源驱动、Wi-Fi驱动等,如图1-1所示,最下面即为该层。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
《OpenGL ES 3.x游戏开发(上卷)》一第2章 游戏开发相关的 Android基础知识
本节书摘来异步社区《OpenGL ES 3.x游戏开发(上卷)》一书中的第2章,第2.1节,作者: 吴亚峰 责编: 张涛,更多章节内容可以访问云栖社区“异步社区”公众号查看。 第2章 游戏开发相关的 Android基础知识 OpenGL ES 3.x游戏开发(上卷)虽然本书主要是介绍OpenGL ES 3.0 3D应用及游戏开发的,但由于很多3D游戏应用中还需要用到目标平台的一些其他应用开发方面的知识,而本书3D基础知识部分主要是借助于Android平台来介绍OpenGL ES 3.0 3D应用及游戏开发的。故本章将向读者简要介绍一些在Android游戏开发中必备的一些基础知识,如音效、文件的读取、游戏信息的存储、Socket网络、蓝牙网络等。 提示 由于介绍Android应用开发非本书重点,若读者对Android的基础知识很不熟悉,可以参考笔者在人民邮电出版社出版的《Android应用开发完全自学手册——核心技术、传感器、2D/3D、多媒体与典型案例》与《Android平板电脑开发实战详解和典型案例》这两本书,其中详细介绍了Android应用开发各方面的知识。不准备在Android平...
- 下一篇
《移动App测试的22条军规》——第23章,第14节测试微信App的增量升级
本节书摘来自异步社区《移动App测试的22条军规》一书中的第23章,第14节测试微信App的增量升级,作者 黄勇,更多章节内容可以访问云栖社区“异步社区”公众号查看 23.14 测试微信App的增量升级我们可以直接使用微信App提供的检查更新功能升级App,并确保升级后用户信息和消息都显示正常(如图23.35所示)。 我们还可以在Android操作系统App应用程序信息页面中清除微信App的数据,以验证微信App是否能在清除数据后恢复到初始状态(如图23.36所示)。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS关闭SELinux安全模块
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址