欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    毕业论文-基于Android平台的手机数独游戏设计18979.doc

    • 资源ID:3939235       资源大小:2.58MB        全文页数:48页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业论文-基于Android平台的手机数独游戏设计18979.doc

    2013 届毕业设计(论文) 题题 目目: 基于 Android 数独游戏设计 2013 年 6 月 I 摘摘 要要 移动互联网时代的到来极大的改变了我们的生活,而 Android 是一种以 Linux 为基 础的开放源码操作系统迅速占领了智能机操作系统,所以在 android 环境下开发显得尤 为必要。Android 是开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各 种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。因此, 对于软件从业人员来说,Android 平台具有无限的吸引力。 本文就在分析讨论 Android 手机软件开发技术原理的基础上,为用户开发出基于 Android 平台的数独游戏的软件。通过对 Android 系统架构和应用开发进行初步研究, 设计一款数独游戏。在对系统进行详细需求分析的基础上,确定了系统的功能和性能要 求,对游戏的开机动画,菜单界面、屏幕绘制、时间控制、布局算法等进行了设计。 本文详细介绍了在 Android 平台上以 Java 为语言编写游戏的过程,最终实现了一个 界面友好、操作简单的手机益智游戏。 关关键键词词:Android 数独 智能机 II The design of Sudoku game based on Android Abstract Arrival of the mobile Internet era has greatly changed our lives, and Android is a Linux- based system quickly occupied the smartphone operation system, Android development is particularly necessary under the circumstances. Android's biggest feature is its open architecture, not only has a very good development and debugging environment, but also supports a variety of scalable user experience, including rich graphical components, multimedia support, and powerful browser. Therefore, for software professionals, Android platform has unlimited appeal. In this thesis, the analysis and discussion of Android mobile phone software development technology provide users with better platform to the Sudoku based on Android meteorological software. Through the Android system structure and application development for preliminary research, we designed a Sudoku game. In the system based on the analysis of the detailed requirements, we design the game in the game menu interface, the screen rendering, time control and layout algorithm. This thesis describes the whole development process of Android based smart phone game using Google Android SDK. Finally, we have the software with friendly interface and simple operation. Key Words: Android ; Sudoku ; Smartphone III 目 录 摘 要I Abstract.II 第一章 绪论.1 1.1 研究背景1 1.1.1 手机游戏的发展以及特征1 1.1.2 数独游戏背景2 1.2 Android 手机游戏的市场价值.2 1.3 本文主要工作及章节结构.3 第二章 Android 平台概述.4 2.1 Android 系统简介4 2.2 Android 系统特性4 2.3 Android 操作系统框架结构.5 2.3.1 应用程序6 2.3.2 应用程序框架6 2.3.3 库与运行环境7 2.3.4 内核7 2.4 Android 应用程序构成.8 2.4.1Activity8 2.4.2 Broadcast Receiver9 2.4.3 Service10 2.4.4 Content Provider10 2.5 Android 应用程序的生命周期.11 第三章 数独游戏的设计.13 3.1 游戏功能简介13 3.2 游戏策划以及准备工作14 3.3 游戏的架构.16 3.3.1 各类的介绍16 3.3.2 游戏的框架简介18 IV 第四章 基于 Android 平台数独游戏的实现.19 4.1 欢迎界面的设计和实现.19 4.1.1 主类 KLSDActivity 实现19 4.1.2 欢迎界面 WelcomeView 类的实现20 4.1.3 WelcomeViewDrawThread 类和 WelcomeViewGoThread 类的实现21 4.1.4 HelpView 类和 AboutView 类的实现22 4.2 游戏界面相关类的实现.23 4.2.1 游戏界面 GameView 的实现24 4.2.2 时间线程 TimeThread 的实现25 4.3 数独算法类的实现.25 4.3.1 数独算法基本逻辑26 4.3.2 检测填充结果27 4.4 游戏的测试和运行.29 4.4.1 游戏测试概述29 4.4.2 测试环境30 4.4.3 游戏运行结果31 第五章 总结和展望.35 5.1 总结.35 5.2 展望.35 参考文献.36 致 谢.37 南京工业大学本科生毕业设计(论文) 1 第一章 绪论 1.11.1 研究背景研究背景 1.1.1 手机游戏的发展以及特征 手机游戏,是指用户运行在移动终端的应用程序,具有网络连接功能,能 够满足用户随时随地进行游行的需求,它需要一定的硬件环境和一定的系统环 境作为其运行的基础。手机游戏吸引用户最大的特点就是其便利性,由于其是 移动终端,所以用户可以随时随地进行游戏。正是因为其便利性,手机游戏市 场有了很大的发展。在美国,手机游戏作为美国手机用户最喜欢的移动应用之 一,在iPhone和Android等智能终端推出后发展迅速。 手机游戏常见的特征可以总结如下: 1.庞大的潜在用户群:全球在使用的移动电话已经超过 10 亿部,而且这个 数字每天都在不断增加。在除美国之外的各个发达国家,手机用户都比计算机 用户多。手机游戏潜在的市场比其他任何平台,比如 PlayStation 和 GameBoy 都要大。 2.便携性与移动性:在控制台游戏时代,GameBoy 热销的一个原因就是便 携性人们可以随时随地沉浸在自己喜欢的游戏中,还可以随时随地抢购自 己喜欢的装备或宠物。和游戏控制台或者 PC 相比,手机虽然可能不是一个理想 的游戏设备,但毕竟人们总是随时随身携带,这样手机游戏很可能成为人们消 遣时间的首选。手机便携性、移动性的特征更能满足用户随时随地玩游戏的需 求,用户利用排队、等车的时间进行游戏,手机游戏碎片化的特性凸显。调查 显示,29.8%的用户在用手机玩游戏以后电脑端玩游戏的时间减少,手机游戏已 经开始抢夺电脑游戏时间。22.4%的用户手机游戏时间越来越长,仅有 10%的用 户时间变短,手机游戏已逐渐成为一种普遍的娱乐方式。 3.支持网络:因为手机是网络设备,在一定限制因素下可以实现多人在线 游戏。随着移动网络的发展,移动游戏也越来越多的被大家接受,对于之前长 期通知市场的掌机来说造成了不少的冲击。市场研究公司 IDC 和 App Annie 报 第一章 绪论 2 告显示 2013 年第一季度 iOS 和 Android 平台游戏业务营收是掌机的 3 倍。 1.1.2 数独游戏背景 数独的前身为“九宫格” ,最早起源于中国。但当时的算法比现在的更为复 杂,要求纵向、横向、斜向上的三个数字之和等于 15,而不是数字不能重复。 儒家典籍易经中的“九宫图”也是来源于此。 到了 18 世纪末,瑞士数学家莱昂哈德·欧文又发明了一种叫做“拉丁方块” 的游戏,之后不久,美国的一家数字逻辑游戏杂志开始刊登这类游戏,使此类 游戏得到良好发展,之后又在日本得到了广泛的传播。2004 年,第一个“数独” 游戏被刊登上了英国泰晤士报的封面,此时开始数独游戏才真正为世界所 知晓。 数独游戏的规则很简单,只需要在空格处填写19的数字,并保证每个数字 在每个九宫格内只出现一次,而一般的游戏过程是系统随机生成一个棋局,然 后玩家需要在空白处填上相应的数字使其满足游戏规则。由于此类游戏操作简 单,不需要特定的语言基础,也不需要进行数字运算且可玩性高、锻炼思维、 开发大脑,所以很快风靡全球。 1.21.2 AndroidAndroid 手机游戏的市场价值手机游戏的市场价值 Android 是 Google 开发的基于 Linux 平台的开源手机操作系统。它包括操 作系统、用户界面和应用程序移动电话工作所需的全部软件,而且不存在 任何以往阻碍移动产业创新的专有权障碍2。Google 与开放手机联盟合作开发 了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。Google 通过与运营商、设备 制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标 准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。 Android平台上的游戏相比应用软件,不需要进行严格的市场细分,不需要 针对目标用户量身定制。这是因为游戏玩家的核心需求是统一的,那就是:娱 乐与打发时间(乃至更高层面的竞技需求和群体认同需求),这种需求附着于特 南京工业大学本科生毕业设计(论文) 3 定的社会发展阶段,不受地域的限制,甚至于能够穿透文化壁垒。因此,绝大 多数种类的游戏都具备传染性与普适性,每一个售出的游戏都将会点燃周围潜 在玩家的激情,最终吞噬整个需求市场。由此可知,几乎每一个Android手机用 户都是游戏的需求者,都是潜在的顾客,现今的1000多万Android用户不过是冰 山一角,随着Android手机市场进一步壮大,游戏的市场容量将具备更大的增长 空间3。 1.31.3 本文主要工作及章节结构本文主要工作及章节结构 整篇论文共分为六个部分,其主要内容安排如下: 第一章 引言。介绍论文的研究背景、目的和意义。包括课题的背景资料 简介、国内外研究现状和发展趋势、深入地介绍了课题研究的价值。 第二章 Android 平台概述。这部分主要是介绍了智能手机系统现状、 Android 的功能特征、Android 系统的特点以及 Android 的体系结构。 第三章 数独游戏的设计。对游戏相关策划,功能以及架构进行介绍。 第四章 数独游戏的实现。这部分主要介绍了游戏的界面、游戏中的逻辑 处理以及该游戏今后的改进和优化。 第五章 总结和展望。对整篇论文加以总结与回顾以及对未来的展望。 第二章 Android 平台概述 4 第二章 Android 平台概述 本章将介绍Android 这个基于Linux开发平台,首先我们会介绍 Android 操作系统,然后讲述其特性,接着讲述其系统框架,其次我们会重点介绍其应 用程序的构成模块,最后会介绍其生命周期。 2.12.1 AndroidAndroid 系统简介系统简介 Android 是谷歌公司发布的手机操作系统,它是基于Linux 平台的开源手 机操作系统,谷歌公司将要把其打造为基于移动终端的真正开放的移动软件平 台,不仅拥有移动电话所需要的工作软件,而且在专利权方面能够不侵犯他 人权利去推动移动互联网的创新。 谷歌公司为了开发Android,与开放手机联盟进行了合作,手机开放联盟由 全球30 多家移动开发和手机应用的领先企业组成。谷歌公司不仅仅和运营商达 成了合作关系、而且与设备制造商以及开发商保持长期合作,目的就在于利用 其优势建立移动软件平台,其特点是标准化、开放式的。Android是谷歌公司未 来企业战略的一部分,其目的是为了在任何时候任何地点能够提供信息 4。 2.22.2 AndroidAndroid 系统特性系统特性 Android系统特性如下所示: 1.应用框架:Android系统组件,用于开发流程,两个特性:可重用性和可 替代性。 2.Dalvik 虚拟机:在Android系统中, Dalvik虚拟机是一种Java 虚拟机, 是Google公司自主开发,其代号为Dalvik,占用资源比较小,运行效率比较高。 3.集成浏览器:引擎 WebKit,其特性是开源。 4.优化图形:强大的自定义二维图形库。基于OpenGL ES 1.0 标准的3D 图 形功能,在移动3D 开发中有着至关重要的地位。 5.SQLite 数据库:SQLite 提供结构化的数据存储。它是一款轻型免费的 南京工业大学本科生毕业设计(论文) 5 且开源的数据库,设计目标是嵌入式的。它具备占用资源低、需要的内存空间 少、处理速度较快,并且还支持事务处理功能等优点。 6.多媒体支持:支持各种通用的音视频和静态图像格式 (MPEG4、MP3、JPG、PNG、GIF、AAC、H.264、AMR)。 7.GSM 技术:(依赖硬件)Global System for Mobile Communications,全 球移动通讯系统,俗称全球通,是第二代移动通信技术,其开发目的是让全球各 地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。 8.蓝牙,EDGE,3G,and Wi-Fi:(依赖硬件)蓝牙和Wi-Fi 都是一种短距离 的无线连接技术,在短距离内可以实现话音和数据的无线传输。EDGE(Enhanced Data Rate for GSM Evolution),是增强型数据速率GSM 演进技术。 9.Camera,GPS,Compass,and Accelerometer:(依赖硬件)GPS(Global Positioning System),即全球定位系统。它是一个由覆盖全球的24 颗卫星组 成的卫星系统。Compass是一个开放源代码的Java 搜索引擎框架。 10.强大的开发环境:包括一个设备模拟器,调试工具,内存和性能检测, 以及Eclipse 11.IDE 的开发插件。Eclipse集成开发环境。 2.32.3 AndroidAndroid 操作系统框架结构操作系统框架结构 Android 作为一个开源的移动设备的平台,其软件层次结构自上而下分为 四个层次,分别是:应用程序(Application)、应用程序框架(Application Framework)、各种库(Libraries)和Android 运行环境(RunTime)、Linux 内核 (Linux Kernel)。 第二章 Android 平台概述 6 图 2.1 Google 手机操作系统平台-Android 的架构模型 2.3.1 应用程序 突破传统思维,提供更好的用户体验。Android 将会移植一系列的核心应 用,包括E-mail 客户端,SMS 程序,日历,GPS 地图,浏览器,联系人等等。 所有的应用程序都是由Java语言完成的。应用程序是无界限的,可以在平 等条件下创建,还可以轻松地嵌入Web,可以并行运行5。 2.3.2 应用程序框架 Android 应用程序由一个或多个组件组成,Android 的应用程序框架为应 用程序层的开发者提供APIs,它实际上是一个应用程序的框架。由于上层的应 用程序是以Java 构建的,因此本层次提供的首先包含了UI 程序中所需要的各 种控件: 例如:Views(视图组件)包括lists(列表),grids(栅格),text boxes(文 本框),buttons(按钮)等。甚至一个嵌入式的Web 浏览器。 一个 Android 的应用程序可以利用应用程序框架中的以下几个部分: Activity(活动),Broadcast Receiver(广播接收者),Service(服务), Content Provider(内容提供者) 南京工业大学本科生毕业设计(论文) 7 2.3.3 库与运行环境 Android 包含一套C/C+库,能被系统中不同的组件使用。这些功能通过 Android应用框架展现给开发人员。下面列出一些核心库: (1)System C library:从BSD 继承来的标准C 系统函数库,也是系统中最 为底层的库,是专门为基于嵌入式Linux 的设备制定的。 (2)Media Framework:该库支持多种常用的音频、视频格式的回放和录制, 同时支持静态图片文件,包括MPEG4、H.264、MP3、AAC、AMR、JPG 和PNG 等。 (3)Surface Manager:用于管理不同应用对图形显示子系统和2D 和3D 图 形层的访问。 (4)WebKit:一个时尚的web 浏览器引擎,为Android 浏览器和内嵌的web view 提供实现。 (5)SGL:隐藏的2D 图形引擎。 (6)3D libraries:基于OpenGL ES 1.0 APIs 实现的库,该库可以使用硬 件3D 加速,或者高度优化的3D 软加速。 (7)FreeType:位图和向量模式的字体绘制。 (8)SQLite:一个强大的,轻量的关系型数据库引擎,用于所有的应用。 Android 运行时Android 包含一组核心库,提供了Java 语言核心库内的大 部分功能。Android运行环境主要指的是虚拟机技术Dalvik。Dalvik虚拟机 依赖Linux kernel来实现一些潜在功能,例如线程和底层内存管理。Dalvik虚 拟机和一般Java虚拟机(JavaVM)不同,它执行的不是Java标准的字节码而是 Dalvik可执行格式(.dex)中执行文件,该格式的文件经过优化占用很小的内存。 在执行的过程中,每一个应用程序即一个进程(Linux 的一个Process) 。二者 最大的区别在于Java VM 是以基于栈的虚拟机(Stack-based),而Dalvik是基于 寄存器的虚拟机(Register-based)6。显然,后者最大的好处在于可以根据硬 件实现更大的优化,这更适合移动设备的特点。每个Android应用程序都在 Dalvik VM的一个实例中运行,这个实例驻留在一个由Linux内核管理的进程中。 第二章 Android 平台概述 8 2.3.4 内核 Android使用Linux2.6 内核来提供系统的核心服务,例如:安全机制,内 存管理,进程管理,网络堆栈。Android更多的是需要一些与移动设备相关的驱 动程序。其主要的驱动有:显示驱动(Display Driver)、Flash内存驱动(Flash Memory Driver)、照相机驱动(Camera Driver)、音频驱动(Audio Driver)、 Wi-Fi驱动(Camera Driver)、键盘驱动(KeyBoard Driver)、蓝牙驱动 (Bluetooth Driver)、Binder IPC驱动(Android一个特殊的驱动程序,具有单 独的设备节点,提供进程间通讯的功能)7。 2.42.4 AndroidAndroid 应用程序构成应用程序构成 Android应用程序与其他很多计算机平台的应用程序不同,他们没有唯一的 启动入口,一个Android应用程序是由多个不同组件组合而成,组件间通过 Intent实现通信。Android系统的基本组件包括Activity、Service、Broadcast Receiver和Content Provider等,要实现组件间通信,还需要Intent消息组件。 并不是每个Android应用程序都必须具备这四个组件,很多时候只需要这四种中 的某几种就可以了。除此之外,应用程序的所有组件还都必须在 AndroidManifest.xml中声明8。这是一个XML配置文件,这个配置文件用于定 义应用程序的组件、组件的功能及必要条件等。这个配置文件是任何一个 Android应用程序所必需的。 2.4.1 Activity Activity 可以说是开发人员最常用的组件,同时也属于Android 最基本的 组成部分之一。Android 程序中,一般一个Activity 代表手机屏幕上的一屏。 举例来说,如果将手机比作一个浏览器,那么一个Activity 就相当于一个网页。 在Activity 中,可以添加多个视图,然后为这些视图添加一些事件处理。这些 视图可以是按钮、文本框、列表等。可以看到,Activity 的概念和网页的概念 相当类似。一般一个Android 应用是由多个Activity 组成,同时这些Activity 南京工业大学本科生毕业设计(论文) 9 相互之间可以进行跳转,例如,按下某个Activity 中的Button 按钮后,可能 会跳转到一个其他的Activity。不过和网页跳转稍有不同,Activity之间的跳 转可以有返回值,例如,在Activity A 跳转到Activity B 后,那么当 Activity B运行结束时,可能会返回给Activity A 一个值。在多个Activity 交流的过程中,这种返回机制是相当实用的。当用户进入一个新的屏幕时,之 前的屏幕会转入暂停状态,并且保存在历史堆栈中。正是由于历史堆栈的存在, 用户可以通过返回操作,返回到之前打开过的所有屏幕。Android默认的是将应 用程序从开始到当前的每一个屏幕都保存到堆栈中,不过与此同时,Android还 提供了很方便的机制,让开发人员自定义某个屏幕是否需要保存到历史堆栈。 Activity 的跳转实现,必须借助于Intent 类。因此Intent 在Android 应用中 占据的地位是极其重要的。简单来说,一个Intent 就是对一个将要执行的操作 请求的抽象描述。 Intent 的描述,主要包含有两个数据结构:动作(action)和动作对应的数 据(data)。动作有很多种,系统中最常见的动作类型有:MAIN(表明该Activity 是应用程序的入口)、VIEW、PICK、EDIT 等等;而动作对应的数据一般以URI 的形式表示,例如:要查看某一个网页,则需要创建Intent,它的动作类型为 VIEW,对应的数据应该是该网页的网址。值得一提的是,有一个类叫 IntentFilter,它是Intent的相关类。如果说Intent是一个有效的操作请求, 那么一个IntentFiler则用于描述一个Activity(或者Intent Receiver等)能够 接收哪些Intent的请求。比如系统浏览器的Activity用于查看某一个网页,那 么它用于接收Intent的IntentFilter,要定义类型为VIEW的动作并且能够过滤 表示一个网页网址的 URI。通常IntentFilter要被注册在AndroidManifest.xml文件中。 Activity 之间的跳转正是通过解析各种Intent 来实现的。例如一个Activity 调用startActivity(intent)方法,希望跳转到其他的Activity 时,会触发系 统的Intent 解析过程,在所有安装的应用程序中已注册的IntentFilter 中查 找,并最终挑选出能够匹配Intent 的Activity。然后这个新的Activity 因为 接收到Intent 的请求而开始运行,完成Activity 的跳转。这种跳转机制提供 了两个关键好处: 第二章 Android 平台概述 10 (1)操作请求被Intent 封装起来,方便Activity 重复利用。 (2)相互跳转的多个Activity 之间实现了松耦合。只要IntentFilier 保持 不变,一个ctivity 可以随意修改,而不用担心其他Activity 找不到它。 2.4.2 Broadcast Receiver 应用程序可以通过Broadcast Receiver 监听一个外部的事件,并做出响应。 例如,当应用程序需要对电话呼入这个外部事件做出反应时,可以利用 Broadcast Receiver 进行处理。再如,当一个后台下载任务成功的事件发生时, 需要提示用户下载完成,仍然可以利用Broadcast Receiver 来进行处理。 Broadcast Receiver不能生成UI,也就是说对于用户来说是透明的,用户 是看不到的。Broadcast Receiver只能通过NotificationManager来通知用户这 些事件发生了。Broadcast Receiver既可以在AndroidManifest.xml中注册,也 可以在运行时的代码中使用Context.registerReceiver()进行注册。注册完成 之后,当事件来临的时候,即使程序没有启动,系统依然可以根据定义,自动 启动程序。各种应用也可以通过使用Context.sendBroadcast()将它们自己的 Intent Broadcast广播给其他应用程序。 2.4.3 Service Service是一种程序,它可以运行很长时间,但是它却没有用户界面,不可 交互,而且不能自己运行。它需要通过某一个Activity或者其他的Context对象 来调用12。最常见的例子,比如说用户正在运行一个音乐播放器的程序,此时 如果想浏览网页,那么,在用户导航到Android的浏览器以后,虽然进入了浏览 器屏幕,但是歌曲的播放并没有停止,而是在后台继续播放着。其实播放的动 作正是由播放音乐的Service执行着。当然,如果需要的话,Service也是可以 停止。通过startService(Intent service)可以启动一个Service,通过 Context.bindService()可以绑定一个Service。 2.4.4 Content Provider 对于数据存储,Android与其他的操作系统有一点不太一样,即数据在 南京工业大学本科生毕业设计(论文) 11 Android程序中都是私有的,这些数据包括文件类型和数据库类型以及其他类型 的数据。这样系统和应用程序的数据就各自独立起来,以避免受到某些不正常 程序或是病毒的影响。不过这并不代表各应用程序之间就因此而无法进行数据 交换了。当某个应用程序希望与其它的应用共享其数据时,Android提供的 Content Provider就可以发挥作用了。在实现Content Provider的抽象接口以 后,程序便可以将自己的数据暴露出去,其他程序只要有权限,就可以通过这 一套标准而统一的接口,读取或是删除该程序的数据13。 2.52.5 AndroidAndroid 应用程序的生命周期应用程序的生命周期 Android 应用程序一个完整的生命周期是从应用程序的创建到结束的全过 程,与其他系统不同,Android 应用程序的生命周期是不受进程本身控制的, 而是由Android 系统来决定的,Android 系统会根据应用程序对用户的重要性 及当前系统的负载来决定生命周期的长短。Android 系统的各个进程重要程度 如图2.2 所示。 前台进程可见进程服务进程后台进程空进程 关键优先级高优先级低优先级 图 2.2 Android 应用程序进程优先级 (1)前台进程,是Android 系统中最重要的进程,是与用户正在进行交互的 进程。有以下四种情况:Activity 正在与用户进行交互;进程被Activity 调 用,而且这个进程正在与用户进行交互;进程服务正在执行声明中的回调函数, 如onCreate()、onStart()、onDestroy();进程的Broadcast Receiver 在执行 onReceive()函数。Android 系统在多个前台进程同时运行时,可能会出现资源 不足的情况,此时会清除部分前台进程,以保证主要的用户界面能够及时响应。 (2)可见进程,是指部分应用程序界面能够被用户看见,却不在前台与用户 进行交互,不影响界面事件的进程。如果应用程序进程包含一个服务,且这个 服务正被用户可见的Activity 调用,则此进程同样被视为可见进程。Android 进程一般存在少量的可见进程,只有在特殊情况下,Android 系统才会为保证 第二章 Android 平台概述 12 前台进程的资源而清除可见进程。 (3)服务进程,服务进程是指包含已启动服务的进程。该进程没有用户界面 并在后台长期运行。除非Android 系统不能保证前台进程和可见进程所必要的 资源,否则不会强行清除服务进程。 (4)后台进程,后台进程是指不包括任何已经启动的服务,而且没有任何用 户可见的Activity 的进程。Android 系统中一般存在数量较多的后台进程,在 系统资源紧张时系统将会优先清除用户较长时间没有见到的后台进程。 (5)空进程,空进程是不包含任何活跃组件的进程,空进程在系统紧张时会 被首先清除。但为了提高Android 应用程序的启动速度,Android 系统会将空 进程保存在系统内存用,在用户重新启动该程序时,空进程会被重新使用。 当两个应用程序具有相同的优先级时,处于较低优先级且运行时间最长的 进程将会首先被终止。进程的优先级也受到进程间依赖性的影响,如果一个应 用程序依赖于第二个应用程序所提供的服务或者内容提供器,那么第二个应用 程序至少会拥有与它所支持的这个应用程序相同的优先级。进程的优先级取决 于所有组件中优先级最高的部分,进程的优先级会根据其他进程的依赖关系而 变化。 南京工业大学本科生毕业设计(论文) 13 第三章 数独游戏的设计 3.13.1 游戏功能简介游戏功能简介 数独游戏的规则很简单,只需在空格处填入 19 的数字,并保证每个数 字在每个九宫格内只能出现一次,且每个数字在每一行、每一列也只能出现一 次,而一般的游戏过程是系统随机生

    注意事项

    本文(毕业论文-基于Android平台的手机数独游戏设计18979.doc)为本站会员(爱问知识人)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开