android游戏开发中的android架构方面较系统的详细概括

android游戏开发中的android架构方面较系统的详细概括

1. 申请

Android将与一系列核心应用程序包一起发布,其中包括电子邮件客户端、SMS短信程序、日历、地图、浏览器、联系人管理程序等。所有应用程序均使用JAVA语言编写。

2. 应用框架

开发人员还可以完全访问核心应用程序使用的 API 框架。 应用程序的架构设计简化了组件的重用; 任何应用程序都可以发布其功能块,任何其他应用程序都可以使用已发布的功能块(但受框架的安全限制)。 同样,应用程序重用机制也允许用户轻松更换程序组件。

每个应用程序背后隐藏着一系列的服务和系统,包括:

? 用于构建应用程序的丰富且可扩展的视图android游戏开发框架,包括列表、网格、文本框、按钮3D场景,甚至可嵌入的 Web 浏览器设备。

? 内容提供者允许应用程序访问另一个应用程序的数据(例如联系人数据库),或共享自己的数据

? 资源管理器(Resource Manager)提供对非代码资源的访问,例如本地字符串、图形和布局文件(layout files)。

? 通知管理器(Notification Manager)允许应用程序在状态栏中显示自定义的提示信息。

? 活动管理器(Activity Manager)用于管理应用程序生命周期并提供通用的导航回退功能。

3、程序库

Android 包含一些可供 Android 系统中不同组件使用的 C/C++ 库。 他们通过Android应用框架为开发者提供服务。 以下是一些核心库:

? System C 库 - 继承自 BSD 的标准 C 系统函数库(libc)2d游戏素材,专门为基于 Linux 的嵌入式设备定制。

? 媒体库——基于PacketVideo OpenCORE; 该库支持多种常用音频和视频格式以及静态图像文件的播放和录制。 编码格式包括 MPEG4、H.264、MP3、AAC、AMR、JPG、PNG。

• Surface Manager - 管理显示子系统并为多个应用程序提供 2D 和 3D 图层的无缝混合。

? LibWebCore - 一个新的 Web 浏览器引擎,支持 Android 浏览器和可嵌入的 Web 视图。

? SGL - 底层 2D 图形引擎

? 3D库——基于OpenGL ES 1.0 API实现; 这些库可以使用硬件 3D 加速(如果可用)或使用高度优化的 3D 软加速。

? FreeType - 位图和矢量字体显示。

? SQLite - 一个强大的、轻量级的关系数据库引擎,可供所有应用程序使用。

4.Android运行时库

Android包含一个核心库,它提供JAVA编程语言核心库的大部分功能。

每个Android应用程序都运行在自己的进程中,并拥有独立的Dalvik虚拟机实例。 Dalvik 的设计使得单个设备可以高效地同时运行多个虚拟系统。

由 Dalvik 虚拟机执行的 Dalvik 可执行文件 (.dex)。 此格式文件针对较小的内存使用量进行了优化。 同时,虚拟机是基于寄存器的。 所有类均由JAVA编译器编译,然后通过SDK中的“dx”工具转换为.dex格式并由虚拟机执行。 Dalvik虚拟机依赖于Linux内核的一些功能,例如线程机制和底层内存管理机制。

5.Linux内核

Android的核心系统服务依赖于Linux 2.6内核android游戏开发框架,如安全、内存管理、进程管理、网络协议栈和驱动模型。 Linux 内核还充当硬件和软件堆栈之间的抽象层。

以上只是Android架构的基本讨论。 其在实际操作中的具体应用还需进一步深入研究。

文章来源:https://www.douban.com/note/325856004/