J2me应用前台切换的资源调配方法及装置的制作方法

文档序号:7718224阅读:107来源:国知局
专利名称:J2me应用前台切换的资源调配方法及装置的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种JAVA 2平台微縮版本(JAVA 2 Platform Micro Edition,简称为J2ME)应用前台切换的资源调配方法及装置。
背景技术
当前市面上的终端产品(例如,手机)可以说是五花八门、种类繁多,除了外观尺 寸、生产厂商、芯片、操作系统、无线传输制式之间的差异之外,功能、性能等方面的差异和 细分也越来越大。随着国内3G网络的开通和扩展,手机的深化普及,各种手机之间差异还 在进一步扩大。与此同时,运营商要求尽可能多的手机拥有除了电话、短信等之外的更多共 性功能,以便能更好地推广更多的新业务。在这种情况下,支持JAVA虚拟机的功能显得尤 为重要,基于嵌入式平台的JAVA虚拟机已经成为了多数主流运营商对手机(特别是定制手 机)的强制性要求。 JAVA虚拟机的主要功能是为手机提供一个JAVA 2微型版(J2ME)应用环境,手机 用户可以通过无线网等方式下载、安装、运行和管理J2ME应用程序。同时,根据运营商的需 求,还可以在手机上预置运营商要求的预置JAVA应用。通过JAVA虚拟机的支持,使得同样 的JAVA应用程序可以在不同手机上使用,淡化了手机之间的差异。正是因为JAVA应用无 可比拟的跨平台特性;只要手机具有JAVA虚拟机,运营商就可以在客户不更换手机的情况 下方便灵活地在开展新业务。因而,除了手机自带的基本功能应用,例如,电话、短信、彩信、 可视电话、流媒体播放器等,还可以通过JAVA虚拟机下载安装JAVA应用程序,扩充手机的 功能,例如,在线游戏、手机银行、手机证券、导航工具、在线音乐等,从而使手机能力得到了 极大的提升。 不论手机是单任务操作系统还是多任务操作系统,不论JAVA虚拟机是单任务虚 拟机还是多任务虚拟机,作为手机上的一个应用组件,JAVA虚拟机在运行的时候,不可避免 地会与其他手机应用(电话等)存在并发的场景,也就存在前后台切换的问题。例如,手机 用户正在玩JAVA游戏或使用JAVA手机证券,此时,如果有电话或可视电话呼入,由于电话 的优先级很高,需要将JAVA应用程序切换到后台而将电话切换到前台;通话结束后,又需 要将JAVA应用恢复到前台继续执行。传统的方法有两种,但都存在不足(1)JAVA虚拟机 切换到后台,整个JAVA虚拟机组件挂起,正在运行的JAVA应用停止执行;(2) JAVA虚拟机 切换到后台,JAVA虚拟机不作处理,JAVA应用继续执行。
但是,针对上述两种方法,存在以下不足。 使用方法(l),对于在线实时应用是非常致命的,可能会严重影响到用户体验。如 图l所示,如果用户正在玩一个多人联网JAVA游戏,在接听了一个电话之后,就异常中断 了,无法继续;更甚者,用户正在使用JAVA版本的手机证券或手机银行,在接听一个电话之 后,所有操作都中断了,即使不发生错误导致损失也需要所有操作重头再来,因此严重影响 了用户体验。 使用方法(2),对于资源需求很大的本地应用是致命的,严重的情况会导致本地应
4用无法正常使用。如图2所示,如果正在运行一个资源需求很大的JAVA应用,例如,复杂的 游戏或JAVA性能测试软件等,CPU占用率可能高达90%。此时,一个可视电话呼入,JAVA虚 拟机切换到后台后JAVA应用仍然执行,并且CPU占用率并没有有效降低;由于可视电话对 CPU等资源需求很高,很容易因为资源没有得到满足造成可视电话效果变差,严重时甚至导 致可视电话接听失败。 因此,必须采用一种更加灵活有效的方法,处理JAVA虚拟机在后台时的工作情 况。

发明内容
针对相关技术中采用传统方法进行程序的前后台切换时,会降低用户体验或者
导致本地应用无法正常使用的问题而提出本发明,为此,本发明的主要目的在于提供一种
J2ME应用前台切换的资源调配方法及装置,以解决上述问题至少之一。 根据本发明的一个方面,提供了一种J2ME应用前台切换的资源调配方法。 根据本发明的J2ME应用前台切换的资源调配方法包括当JAVA应用程序从前台
切换至后台时,JAVA应用程序接收来自于JAVA虚拟机的第一消息,其中,第一消息携带有
指示JAVA应用程序需要释放部分资源的信息;JAVA应用程序向JAVA虚拟机返回第一响应
消息以实现资源的释放,其中,第一响应消息携带有待释放的资源信息和/或恢复至执行
状态所必需保留的资源信息。 根据本发明的另一方面,提供了一种J2ME应用前台切换的资源调配装置。
根据本发明的J2ME应用前台切换的资源调配装置包括接收单元,用于在JAVA应 用程序从前台切换至后台时,接收来自于JAVA虚拟机的第一消息,其中,第一消息携带有 指示JAVA应用程序需要释放部分资源的信息;发送单元,用于向JAVA虚拟机返回第一响应 消息以实现资源的释放,其中,第一响应消息携带有待释放的资源信息和/或恢复至执行 状态所必需保留的资源信息。 通过本发明,在JAVA虚拟机由前台切换到后台运行时,释放JAVA应用程序独占的 资源,主动限制其CPU等系统资源的消耗,解决了相关技术中采用传统方法进行程序的前 后台切换时,会降低用户体验或者导致本地应用无法正常使用的问题,进而可以提高用户 体验,并可以保证本地应用正常使用。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中
图1是根据相关技术的第一种传统方法进行程序的前后台切换示例的流程图;
图2是根据相关技术的第二种传统方法进行程序的前后台切换示例的流程图;
图3是根据本发明实施例的J2ME应用前台切换的资源调配方法的流程图;
图4是根据本发明优选实施例的资源调配方法的前后台切换的流程图;
图5是正常执行JAVA应用程序的消息处理流程图;
图6是正常执行JAVA应用程序的另一消息处理流程图; 图7是根据本发明实施例的J2ME应用前台切换的资源调配装置的结构框5
图8是根据本发明优选实施例的J2ME应用前台切换的资源调配装置的结构框图。
具体实施例方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的 情况下,本申请中的实施例及实施例中的特征可以相互组合。 图3是根据本发明实施例的J2ME应用前台切换的资源调配方法的流程图。如图 3所示,根据本发明实施例的资源调配方法包括以下处理(步骤S301-步骤S303):
步骤S301 :当JAVA应用程序从前台切换至后台时,JAVA应用程序接收来自于 JAVA虚拟机的第一消息,其中,第一消息携带有指示JAVA应用程序需要释放部分资源的信 息; 步骤S303 :JAVA应用程序向JAVA虚拟机返回第一响应消息以实现资源的释放, 其中,第一响应消息携带有待释放的资源信息和/或恢复至执行状态所必需保留的资源信 息。 通过该实施例,当JAVA应用程序从前台切换至后台时,只释放部分资源,保留恢
复至执行状态所必需保留的资源,既保证了前台应用的正常执行,也保证了后台应用不被
中断,且能够在将来正确地恢复执行。 优选地,步骤S303可以进一步包括以下处理 (1) JAVA虚拟机接收来自于JAVA应用程序的第一响应消息; (2)JAVA虚拟机根据第一响应消息释放待释放的资源。 由此,JAVA虚拟机通过上述处理可以释放掉待释放的资源,例如,多媒体资源,部 分CPU资源。 优选地,JAVA虚拟机可以通过资源调度方式释放部分资源,例如,JAVA虚拟机通 过进入休眠模式释放CPU资源(例如,休眠20毫秒)。 优选地,在JAVA应用程序从前台切换至后台之前,可以出现以下场景(1) JAVA执 行程序与终端应用程序并发;(2)两个JAVA执行程序并发。即上述方法可以适用于JAVA执 行程序与终端应用程序并发的场景,也可以适用于两个JAVA执行程序并发的场景。
优选地,当JAVA应用程序从后台切换至前台时,可以包括以下处理
(1) JAVA应用程序接收来自于JAVA虚拟机的第二消息,其中,第二消息携带有指 示JAVA应用程序需要恢复所释放的部分资源的信息; (2)JAVA应用程序向JAVA虚拟机返回第二响应消息以实现资源的恢复,其中,第 二响应消息携带有待恢复的资源信息。 优选地,上述实现资源的恢复可以进一步包括以下处理
(1) JAVA虚拟机接收来自于JAVA应用程序的第二响应消息;
(2) JAVA虚拟机根据第二响应消息恢复待恢复的资源。 优选地,上述恢复至执行状态所必需保留的资源包括但不限于保持网络连接状 态所必需的资源。 优选地,部分资源包括以下至少之一 多媒体资源、CPU资源。其中,可以完全释放 该JAVA应用程序独占的资源,例如,多媒体资源,可以释放部分CPU资源,将CPU资源限制 在一定范围内(例如,50% )。
6
优选地,JAVA应用程序恢复多媒体资源包括以下处理JAVA应用程序重新获取多 媒体资源。 在具体实施过程中,JAVA虚拟机作为手机的一个应用组件,本身也是一个应用程 序,通过时间片调度获取CPU资源,通过操作系统提供的API调用获取存储资源以及网络资 源等。按照J2ME规范,调度间隔能够达到10 40毫秒就能够满足JAVA虚拟机的运行; 在切换到后台时,虚拟机会向正在运行的JAVA应用发送一个pause消息(即上述第一消 息);在切换回前台时,会发送一个resume消息(即上述第二消息);JAVA应用程序在接收 到pause或resume消息时,可以做相应的处理。因此,当JAVA虚拟机切换到后台执行时, 不是将整个JAVA虚拟机组件挂起,而是通过调度机制,将JAVA虚拟机占用的CPU等系统资 源限制在一定的范围以内,保证手机上的其他应用能够获取到足够的资源,正常执行。与此 同时,JAVA应用程序需要在切换时处理pause、resume消息,确保应用切换到后台能够保持 而不被中断,例如,网络连接等,在切换回前台时,能够正常恢复和正确运行。
图4是根据本发明优选实施例的资源调配方法的前后台切换的流程图,以复杂的 在线JAVA游戏与可视电话的前后台切换为例说明进行描述,如图4所示,该过程包括以下 处理(步骤S401-步骤S407); 步骤S401 :运行一个JAVA游戏,在线的复杂游戏,需要网络连接保持不中断,同时
CPU占用率很高; 之后,可视电话呼入; 步骤S403 :JAVA虚拟机切换到后台,JAVA游戏处理虚拟机传送来的pause消息,
并且通过资源调度方式将CPU占用限制在一定范围以内,例如,不超过50 % ;同时,根据需
要选择性释放掉独占资源,例如,多媒体设备资源,并保持恢复执行所必需的资源如网络连
接等;通过资源调度方式降低CPU占用资源,具体过程可以参见图5和图6。 图5是正常执行JAVA应用程序的消息处理流程图。其中,JAVA虚拟机支持的JAVA
应用程序处于前台,如图5所示,该过程包括以下处理(步骤S501-步骤S509): 步骤S501 :启动JAVA虚拟机; 步骤S503 :JAVA虚拟机会不断查询是否有新的消息(或者事件,EVENT);
步骤S505 :如果没有,则JAVA虚拟机休眠一定时间(例如,20ms)并释放CPU资 源,之后继续执行步骤S503,如果有新消息,则执行步骤S507 ; [OOM] 步骤S507 :JAVA虚拟机处理消息(或事件); 步骤S509 :判断JAVA虚拟机是否需要退出,如果否,则返回执行步骤S503,否则, JAVA虚拟机退出。 图6是正常执行JAVA应用程序的另一消息处理流程图。相对于图5而言,在执行 步骤S509之后,优选地,可以再增加一个判断是否需要将JAVA应用程序切换到后台的步骤 S511,当JAVA应用切换到后台运行时,每次消息处理完成之后,执行步骤S513 :休眠一定时 间(例如,20ms)并释放CPU资源,因而CPU占用率就会降低。 类似的,对于音视频资源的释放流程,可以采用现有技术方案,根据具体场景需 要,在JAVA应用切换到后台时进行释放,恢复时再重新获取音视频资源。
步骤S405 :可视电话通话; 步骤S407 :通话完毕后,可视电话应用退出,JAVA虚拟机切换回前台,JAVA游戏处理resume消息,恢复其所需的系统资源,如CPU占用,继续运行该游戏;对于独占性的资源
如多媒体输出设备,如果切换到后台时释放了,在恢复到前台时重新获取; 通过该实施例,当JAVA应用程序切换到后台时,主动限制其资源(例如,CPU等系
统资源)的消耗。可以保证其他应用能够获取足够的手机资源而正常执行,同时,也保证了
在其他应用结束时,JAVA应用能够顺利地从后台切换回前台,不发生终止或异常情况,正确
地恢复执行。 图7是根据本发明实施例的J2ME应用前台切换的资源调配装置的结构框图。图8 是根据本发明优选实施例的J2ME应用前台切换的资源调配装置的结构框图。如图7所示, 根据本发明实施例的资源调配装置包括接收单元70和发送单元72。 接收单元70,用于在JAVA应用程序从前台切换至后台时,接收来自于JAVA虚拟机 的第一消息,其中,第一消息携带有指示JAVA应用程序需要释放部分资源的信息;
发送单元72,用于向JAVA虚拟机返回第一响应消息以实现资源的释放,其中,第 一响应消息携带有待释放的资源信息和/或恢复至执行状态所必需保留的资源信息。
通过该实施例提供的装置,当JAVA应用程序从前台切换至后台时,该装置只释放
部分资源,保留恢复至执行状态所必需保留的资源,既保证了前台应用的正常执行,也保证 了后台应用不被终止,且能够在将来正确地恢复执行。 优选地,如图8所示,上述装置还包括资源调配单元74,用于根据第一响应消息 释放待释放资源。 优选地,接收单元70,还用于接收来自于JAVA虚拟机的第二消息,其中,第二消息 携带有指示JAVA应用程序需要恢复所释放的部分资源的信息;发送单元72,还用于向JAVA 虚拟机返回第二响应消息以实现资源的恢复,其中,第二响应消息携带有待恢复的资源信 息。 优选地,资源调配单元74,还用于根据第二响应消息恢复待恢复的资源。 优选地,资源调配单元74包括获取模块740,用于重新获取多媒体资源。 综上所述,借助本发明提供的上述实施例,可以解决JAVA应用程序与手机其他应
用程序之间并发的问题,或者两个JAVA应用程序之间并发的问题,当JAVA应用程序切换到
后台时,保证其他应用程序或其他JAVA应用程序能够获取足够的手机资源而正常执行,同
时,也保证了在其他应用程序结束时,JAVA应用程序能够顺利地从后台切换回前台,不发生
终止或异常情况,正确地恢复执行。 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们 中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的 硬件和软件结合。 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
8
权利要求
一种J2ME应用前台切换的资源调配方法,其特征在于,当JAVA应用程序从前台切换至后台时,所述方法包括所述JAVA应用程序接收来自于JAVA虚拟机的第一消息,其中,所述第一消息携带有指示所述JAVA应用程序需要释放部分资源的信息;所述JAVA应用程序向所述JAVA虚拟机返回第一响应消息以实现资源的释放,其中,所述第一响应消息携带有待释放的资源信息和/或恢复至执行状态所必需保留的资源信息。
2. 根据权利要求1所述的方法,其特征在于,所述JAVA应用程序向所述JAVA虚拟机返 回第一响应消息以实现资源的释放包括所述JAVA虚拟机接收来自于所述JAVA应用程序的所述第一响应消息; 所述JAVA虚拟机根据所述第一响应消息释放所述待释放的资源。
3. 根据权利要求1所述的方法,其特征在于,所述JAVA虚拟机释放所述部分资源的方 式包括资源调度方式。
4. 根据权利要求l所述的方法,其特征在于,在JAVA应用程序从前台切换至后台之前, 所述方法还包括JAVA执行程序与终端应用程序并发;或 两个JAVA执行程序并发。
5. 根据权利要求l所述的方法,其特征在于,当JAVA应用程序从后台切换至前台时,所述方法还包括所述JAVA应用程序接收来自于所述JAVA虚拟机的第二消息,其中,所述第二消息携带 有指示所述JAVA应用程序需要恢复所释放的所述部分资源的信息;所述JAVA应用程序向所述JAVA虚拟机返回第二响应消息以实现资源的恢复,其中,所 述第二响应消息携带有待恢复的资源信息。
6. 根据权利要求5所述的方法,其特征在于,所述实现资源的恢复包括 所述JAVA虚拟机接收来自于所述JAVA应用程序的所述第二响应消息; 所述JAVA虚拟机根据所述第二响应消息恢复所述待恢复的资源。
7. 根据权利要求1至6中任一项所述的方法,其特征在于,所述恢复至执行状态所必需 保留的资源包括保持网络连接状态所必需的资源。
8. 根据权利要求1至6中任一项所述的方法,其特征在于,所述部分资源包括以下至少之一 多媒体资源、CPU资源。
9. 根据权利要求8所述的方法,其特征在于,所述JAVA应用程序恢复所述多媒体资源 包括所述JAVA应用程序重新获取所述多媒体资源。
10. —种J2ME应用前台切换的资源调配装置,其特征在于,所述装置包括 接收单元,用于在JAVA应用程序从前台切换至后台时,接收来自于JAVA虚拟机的第一消息,其中,所述第一消息携带有指示所述JAVA应用程序需要释放部分资源的信息;发送单元,用于向所述JAVA虚拟机返回第一响应消息以实现资源的释放,其中,所述第一响应消息携带有待释放的资源信息和/或恢复至执行状态所必需保留的资源信息。
11. 根据权利要求IO所述的装置,其特征在于,所述装置还包括资源调配单元,用于 根据所述第一响应消息释放所述待释放资源。
12. 根据权利要求10所述的装置,其特征在于,所述接收单元,还用于接收来自于所述JAVA虚拟机的第二消息,其中,所述第二消息 携带有指示所述JAVA应用程序需要恢复所释放的所述部分资源的信息;所述发送单元,还用于向所述JAVA虚拟机返回第二响应消息以实现资源的恢复,其 中,所述第二响应消息携带有待恢复的资源信息。
13. 根据权利要求12所述的装置,其特征在于,所述资源调配单元,还用于根据所述第二响应消息恢复所述待恢复的资源。
14. 根据权利要求13所述的装置,其特征在于,所述资源调配单元包括 获取模块,用于重新获取多媒体资源。
全文摘要
本发明公开了一种J2ME应用前台切换的资源调配方法及装置,当JAVA应用程序从前台切换至后台时,JAVA应用程序接收来自于JAVA虚拟机的第一消息,其中,第一消息携带有指示JAVA应用程序需要释放部分资源的信息;JAVA应用程序向JAVA虚拟机返回第一响应消息以实现资源的释放,其中,第一响应消息携带有待释放的资源信息和/或恢复至执行状态所必需保留的资源信息。根据本发明提供的技术方案,进而可以提高用户体验,并可以保证本地应用正常使用。
文档编号H04W28/02GK101788926SQ200910216898
公开日2010年7月28日 申请日期2009年12月28日 优先权日2009年12月28日
发明者何平, 刘刚, 苟定勇, 谢鑫 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1