基于Android手机平台音乐播放器开发设计(4)
时间:2016-12-22 11:17 来源:毕业论文 作者:毕业论文 点击:次
挑食工具,内存及性能分析图表,Eclipse集成开发环境插件。 1.3.4 Android 基本框架(Android Architecture) 根据谷歌发布的Android基本框架示意图,如图2.1所示。图中表示Android基本框架结构。 图1.3 Android基本框架示意图 (1)Applications Applications 应用程序,Android会结合同一个核心应用包一起发布相关的应用程序,应用程序包中包括了email客户端、SMS短消息程序,日历,地图,浏览器,联系人管理等一些移动终端中必备的应用程序。所有的应用程序全部是以JAVA语言为基础进行编写。 (2)Application FrameWork 开发者可以访问一切应用程序中所使用的的相关的API框架。应用程序架构用来简化组建软件的重用;每一个开发者都可以自由的发布自己的应用程序及其相关的功能块。同时其他开发者所开发的应用程序也是可以使用它所发布的功能块(但此过程需要遵循框架安全性限制)。所有的应用程序都是由服务和系统所组成,它们包括: ①视图(View)可扩展的视图集合,可用于构建一个应用程序。包括包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器。 ②内容提供者(Content Providers)能够让应用程序访问其他应用程序(如通讯录)的数据,或者实现共享自己的数据。 ③资源管理器(Resource Manager)为系统提供访问非代码资源的相关操作,比如图形和布局文件等。 ④通知管理器(Notification Manager)能够提供通知服务,可以使应用程序能够在状态栏显示相关的自定义警告。 ⑤活动管理器(Activity Manager)为系统提供了应用程序生命周期的管理服务,提供适用的导航回退功能。 (3)Libraries Android包含一个C/C++库的集合,使得Android系统各组件有相关联的功能使用。此功能可以通过Android的应用程序框架(application framework)展示给开发者。 (4)Android Runtime Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik中的实例,运行在自己的进程中。在一个设备可运行多个虚拟机。Dalvik可执行.dex格式的文件,dex是专为Dalvik设计的一种压缩格式,Dalvik虚拟机则是基于寄存器。一般而言,基于栈的机器需要相关的指令操作,在基于寄存器的机器中指令更大。dx,可以將 Java .class 转换成 .dex 格式。一个dex文件通常会有多个.class。由于dex在有些时候需要最佳化,这会使原本文件大小增加1-4倍。Dalvik虚拟机依赖于Linux 内核所提供给它的基本功能,比如线程、底层的内存管理等。 (5)Linux 内核 Android是基于Linux 2.6提供系统的核心服务,比如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Kernel是作为硬件与软件之间的抽象层,它隐藏硬件的具体细节来为上层结构提供统一服务。在计算机网络的知识当中我们可以了解到分层的好处在于它可以使用下层提供上来的服务为上一层提供服务,拒绝了层与层之间的差异,当其它层发生变化时不会影响到上层。各层之间相互独立,各层提供固定的SAP(Service Access Point),也可以算作高内聚、低耦合。 1.3.5 Android 系统的四大组件 (1)Activity简介 在Android系统中Activity提供可视化的用户界面,一个Android应用通常由多个Activity组成。多个Activity组成了Activity栈(Stack),当前活动的Activity处于栈顶。Activity有自己的生命周期,由Android系统来控制。 (2)Service简介 Service是运行在后台的一种服务程序,一般很少与用户交互,因此没有可视化界面定义一个Service类比较简单,只要继承Service类,实现其生命周期中的方法就可以。一个定义好的Service必须在AndroidManifest.xml配置文件注册,通过<service>元素声明才能使用,Service有自己的生命周期,我们可以调用startService()启动一个Service或者bindService()办法来绑定一个存在的Service。 (责任编辑:qin) |