CN101661392B - 在移动终端上运行专用界面工具的方法、装置及设备 - Google Patents
在移动终端上运行专用界面工具的方法、装置及设备 Download PDFInfo
- Publication number
- CN101661392B CN101661392B CN2008101192272A CN200810119227A CN101661392B CN 101661392 B CN101661392 B CN 101661392B CN 2008101192272 A CN2008101192272 A CN 2008101192272A CN 200810119227 A CN200810119227 A CN 200810119227A CN 101661392 B CN101661392 B CN 101661392B
- Authority
- CN
- China
- Prior art keywords
- interface tool
- special interface
- widget
- thread
- special
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 105
- 230000008569 process Effects 0.000 claims abstract description 85
- 230000006870 function Effects 0.000 claims description 100
- 238000004891 communication Methods 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 25
- 230000004044 response Effects 0.000 abstract description 12
- 238000010586 diagram Methods 0.000 description 16
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000009434 installation Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种在移动终端上运行专用界面工具Widget的方法、装置及移动终端设备,提高了在移动终端上运行Widget时的系统响应速度,降低了CPU和内存占用率。所述方法包括:加载Widget的进程根据接收到的携带文件路径的Widget加载请求,向本进程创建的运行Widget的线程发送加载Widget的通知以及所述文件路径;所述运行Widget的线程根据接收到的通知为需要加载的Widget创建对象,在Widget的对象中加载所述文件路径指向的Widget文件并启动所述Widget的对象运行,在移动终端上展现所述Widget的用户界面。
Description
技术领域
本发明涉及移动通信领域,尤其涉及一种在移动终端上运行专用界面工具(Widget)的技术。
背景技术
专用界面工具(Widget)是一种轻量级的Web应用,向用户展现为桌面上的小窗口或网页。用户安装负责运行Widget的引擎之后便能使用各种Widget以实现不同的功能,例如时钟Widget可以显示当前时间;天气Widget可以显示定制地区的天气预报;CPU Widget可以显示CPU占用率;等等。Widget使用可扩展的超文本标记语言(Extensible Hyper-Text Markup Language,XHTML)和层叠样式表(Cascading Style Sheets,CSS)等技术展现用户界面,使用JavaScript语言描述用户行为逻辑。出色的界面展现能力以及方便的用户使用功能,使得Widget在传统互联网上广泛流行。
随着移动互联网的发展和普及,在移动终端上也出现了负责运行Widget的解决方案。该解决方案将传统互联网中在个人计算机(Personal Computer,PC)上运行Widget的方案移植到移动互联网的移动终端上。结构框图如图1所示,在移动终端应用平台上包括专用界面工具管理(Widget Management)、JavaScript语言核心(JavaScript Core)、Web核心(WebCore)、Web工具箱(Webkit)、用户界面展现(User Interface Feature,UIFeature)、HTTP架构(HTTPFramework)和操作系统(Operating System,OS)等功能模块,实现了在移动终端上运行Widget的功能。JavaScript Core负责JavaScript语言的解析;WebCore负责XHTML和CSS的解析和展现;Webkit负责JavaScript Core、WebCore以及其它功能模块之间的联系;Widget Management负责加载和卸载Widget;UIFeature负责Widget在桌面上的展现;HTTP Framework负责HTTP通信。
进程为应用程序的运行实例,是应用程序的一次动态执行。基于图1提供的结构框图,该解决方案在移动终端上的文件部署组件图如图2所示,内存中的运行实例主要包括Widget Management进程、OS和由Widget Management进程创建的各个Widget应用进程。当Widget Management进程加载不同的Widget时,首先创建Widget应用进程,然后解析对应的Widget文件。具体的加载时序请参见图3,以加载Widget1为例进行说明,Widget Management进程指示OS创建Widget1应用进程,OS为Widget1应用进程分配资源,并创建对象WidgetApp1,然后在创建的对象WidgetApp1中加载Webkit库文件、加载WebCore库文件、加载JavaScript Core库文件、加载并解析Widget1文件,启动对象WidgetApp1运行,之后通过UIFeature便可以在移动终端上向用户展现Widget1的用户界面。当用户需要切换到其它Widget时,Widget Management进程通过OS的系统调用,实现Widget应用进程之间的切换,具体的切换时序请参见图4,以从Widget1切换到Widget2为例进行说明,Widget Management进程指示OS从Widget1切换到Widget2,OS将Widget1应用进程切换到后台,将Widget2应用进程切换到前台。成功切换之后,便可以在移动终端上向用户展现Widget2的用户界面。
现有技术中提供的在移动终端上运行Widget的解决方案,简单的将在PC上运行Widget的方案移植到移动终端上,没有考虑移动终端与PC之间的差异性。移动终端相比PC,在CPU和内存资源、显示屏幕、网络带宽以及计算能力等方面性能大大降低,使得采用现有技术的解决方案在移动终端上运行Widget时系统响应速度较慢,CPU和内存占用率较高,严重影响了用户感受。
发明内容
本发明提供一种在移动终端上运行专用界面工具的方法、装置及设备,用以解决现有技术中在移动终端上运行专用界面工具时系统响应速度较慢,CPU和内存占用率较高的问题。
本发明提供一种在移动终端上运行专用界面工具的方法,包括:
加载专用界面工具的进程根据接收到的携带文件路径的专用界面工具加载请求,向本进程创建的运行专用界面工具的线程发送加载专用界面工具的通知以及所述文件路径;
所述运行专用界面工具的线程根据接收到的通知为需要加载的专用界面工具创建对象,在专用界面工具的对象中加载所述文件路径指向的专用界面工具文件并启动所述专用界面工具的对象运行,在移动终端上展现所述专用界面工具的用户界面。
本发明提供一种在移动终端上运行专用界面工具的装置,包括:
加载专用界面工具的进程模块,用于根据接收到的携带文件路径的专用界面工具加载请求,向本进程创建的运行专用界面工具的线程模块发送加载专用界面工具的通知以及所述文件路径;
所述运行专用界面工具的线程模块,用于根据接收到的通知为需要加载的专用界面工具创建对象,在专用界面工具的对象中加载所述文件路径指向的专用界面工具文件并启动所述专用界面工具的对象运行,在移动终端上展现所述专用界面工具的用户界面。
本发明提供一种移动终端设备,包括该在移动终端上运行专用界面工具的装置。
本发明提供的在移动终端上运行专用界面工具的方法,系统运行过程只启动一个独立的加载专用界面工具的进程,当需要启动一个新的专用界面工具时,并不创建新的专用界面工具应用进程,而是由该进程创建的运行专用界面工具的线程进行处理,由于仍然在该独立的进程中进行解析和执行,从而解决了启动专用界面工具时,系统响应速度较慢的问题,同时解决了启动多个专用界面工具时内存占用率较高的问题,以及多个专用界面工具在移动终端上运行时,CPU占用率较高的问题;从而提高了在移动终端上运行专用界面工具时的系统响应速度,降低了CPU和内存占用率。
附图说明
图1为现有技术中在移动终端上运行Widget解决方案的结构框图;
图2为现有技术中在移动终端上的文件部署组件图;
图3为现有技术中Widget的加载时序示意图;
图4为现有技术中Widget之间的切换时序示意图;
图5为本发明实施例中在移动终端上运行Widget解决方案的结构框图;
图6为本发明实施例中在移动终端上的文件部署组件图;
图7为本发明实施例中Widget的加载时序示意图;
图8为本发明实施例中Widget之间的切换时序示意图;
图9为本发明实施例中Widget之间通信的时序示意图;
图10为本发明实施例中Widget调用系统功能的时序示意图。
具体实施方式
首先简单分析现有解决方案中存在的主要技术问题及其产生原因:
现有解决方案中,系统运行过程会先启动一个专用界面工具管理(WidgetManagement)进程,当启动一个新的专用界面工具(Widget)时,会通过操作系统(OS)创建一个独立的Widget应用进程,使得启动Widget时,系统响应速度较慢;当启动多个Widget时通过OS创建多个独立的Widget应用进程,会造成内存占用率较高;当多个Widget同时在移动终端上运行时,需要处理多个Widget应用进程的管理和并发运行,会造成CPU占用率较高。
现有解决方案中,当用户切换不同的Widget时,Widget Management进程通过OS进行处理,会造成Widget切换时系统响应速度较慢。
现有解决方案中,多个独立的Widget应用进程在OS中运行时,没有通信机制,各个Widget之间无法通信。
现有解决方案中,采用的文件部署方式使得内存中的运行实例主要包括Widget Management进程,OS和由Widget Management进程创建的各个Widget应用进程,因此需要多个可执行文件以及相应的库文件,使得安装包过大,不利于通过空口在移动终端上进行文件部署,并且文件安装后占用移动终端的空间过大。
基于对现有解决方案中存在的主要技术问题及其产生原因的分析,本发明实施例提出了在移动终端上运行Widget的解决方案,下面将结合说明书附图对本发明实施例提供的解决方案进行详细描述。
如图5所示,为本发明实施例提供解决方案的结构框图,在移动终端应用平台上,包括加载Widget的进程模块,具体称为Widget引擎进程(WidgetEngine),具备统一的调度和管理功能,在本进程模块启动之后创建运行Widget的线程模块、管理Widget的线程模块以及处理Widget通信的对象模块;运行Widget的线程模块,具体称为Widget运行线程(Widget Runtime Thread),在本线程模块启动之后创建调度Widget系统功能的线程模块,并且可以为每一个请求加载的Widget创建对象(即Widget的对象),所有的Widget将在该线程模块上运行;管理Widget的线程模块,具体称为Widget管理线程(WidgetManagement Thread),在本线程模块启动之后建立Widget管理用户界面模块(Widget Management UI)在内存中的运行实例,即启动Widget Management UI模块的运行;处理Widget通信的对象模块,具体称为Widget通信(WidgetCommunication),负责处理Widget之间通信的具体操作;调度Widget系统功能的线程模块,具体称为Widget调度线程(Widget Schedule Thread),具备统一的系统功能调度功能,通过该线程模块统一的系统功能调度,当不同的Widget使用花费时间很长的同步调用或异步调用时,可以在系统功能未完成之前不影响现有Widget的运行,从而有效解决了多个Widget在一个进程中并发时可能产生的死锁问题;Widget管理用户界面模块,具备与用户进行交互,并根据用户选择生成对应的请求消息的功能;Widget的对象,具体称为Widget播放器(Widget Player),负责解释和执行对应的Widget。为了实现Widget的用户界面在移动终端上的展现,加载Widget的进程模块在启动时还会同时加载负责解析XHTML的XHTML解析器(XHTML Parser)、负责解析JavaScript语言的JavaScript语言解析器(JavaScript Parser);同时,在移动终端应用平台上还包括绑定模块(Bind Module),负责建立XHTML和JavaScript的关联;用户界面展现模块(UI Render),负责Widget最终在桌面上的展现,Widget的对象运行之后将触发该用户界面展现模块;HTTP架构(HTTP Framework),负责HTTP通信;以及操作系统(OS)。
为了在移动终端上运行Widget,以对一个Widget的处理进行说明,其中:
加载Widget的进程模块,用于根据接收到的携带文件路径的Widget加载请求,向本进程创建的运行Widget的线程发送加载Widget的通知以及文件路径;
运行Widget的线程模块,用于根据接收到的加载Widget的通知为需要加载的Widget创建对象,在Widget的对象中加载文件路径指向的Widget文件并启动Widget的对象运行,在移动终端上展现Widget的用户界面。
其中,Widget加载请求由Widget管理用户界面模块生成并发送,Widget管理用户界面模块,用于向用户展现Widget文件目录,根据用户在Widget文件列表中选择的Widget文件,查询Widget文件所存储的文件路径,生成携带文件路径的Widget加载请求,Widget文件目录中每一个Widget文件对应一个已下载的Widget。
如果在移动终端上展现所述专用界面工具的用户界面时,移动终端上正在展现其它专用界面工具的用户界面,则隐藏该其它专用界面工具的用户界面;如果用户选择将当前在移动终端上展现的第一Widget的用户界面切换为已隐藏的第二Widget的用户界面,则:
Widget管理用户界面模块,还用于生成并发送第一Widget与第二Widget之间的切换请求;
加载Widget的进程模块,还用于根据接收到的第一Widget与第二Widget之间的切换请求,向运行Wdget的线程模块发送切换第二Widget到前台的通知;
运行Widget的线程模块,还用于根据接收到的通知将第一Widget的对象切换到后台,第二Widget的对象切换到前台。
如果已经加载了至少两个Widget,为了实现Widget之间的通信,以第一Widget订阅第二Widget的某一事件为例说明,其中:
管理Widget的线程模块,用于接收第一Widget的对象发送的第二Widget的事件的订阅请求以及传递的回调函数的指针,并将订阅请求发送给处理Widget通信的对象模块,以及接收到处理Widget通信的对象模块回传的第二Widget的事件发生的通知时,根据回调函数的指针,向第一Widget的对象返回该回调函数,通知第二Widget的事件发生;
处理Widget通信的对象模块,用于接收第二Widget的对象在第二Widget的事件发生时发送的通知,并根据接收到的订阅请求将第二Widget的事件发生的通知回传给管理Widget的线程模块。
为了实现Widget对系统功能的调用,其中:
调度Widget系统功能的线程模块,用于接收Widget的对象发送的系统功能申请以及传递的回调函数的指针,向操作系统传入所申请系统功能的调用参数,并等待接收操作系统根据所述调用参数执行所申请系统功能之后返回的调用结果,以及根据回调函数的指针向Widget的对象返回携带调用结果的回调函数;
或者,
调度Widget系统功能的线程模块,用于接收Widget的对象发送的系统功能申请以及传递的回调函数的指针,向操作系统传入所申请系统功能的调用参数并立即返回,以及接收操作系统根据所述调用参数执行所申请系统功能之后返回的携带调用结果的通知,并根据回调函数的指针向Widget的对象返回携带调用结果的回调函数。
基于图5提供的结构框图,本发明实施例所提供解决方案在移动终端上的文件部署组件图如图6所示,由于运行实例仅包括一个独立的Widget Engine进程,所以加载Widget的进程模块以可执行文件的形式发布,其它模块包括管理Widget的线程模块、运行Widget的线程模块、Widget的对象、XHTML解析器和JavaScript语言解析器都以库文件的形式发布,由于可执行文件只有一个,使得安装包和安装后的文件占用移动终端的空间比较小。
在移动终端上运行Widget时,启动Widget Engine进程以及启动由WidgetEngine进程直接或间接创建的Widget Management线程、Widget Runtime线程和Widget Scheduler线程,各线程负责不同的调度功能。由于所有的Widget都在同一个Widget Engine进程中的同一个Widget Runtime线程上运行,使得对各个Widget的操作都是在一个进程内的操作,极大的提高了系统响应速度。当加载Widget时,无需创建一个新的Widget应用进程,而是在Widget Engine进程中直接创建Widget的运行实例,也就是对象Widget Player的运行实例,同时将该运行实例部署到Widget Runtime线程上。具体的加载时序请参见图7,同样以加载Widget1为例进行说明,如果用户需要在移动终端上显示Widget1的用户界面,首先浏览文件目录,Widget文件目录中记录至少一个Widget文件(例如包括Widget1文件/Widget2文件/Widget3文件,等等),每一个Widget文件对应一个已下载的Widget,假设用户选择Widget1对应的Widget1文件,则包括如下步骤:
S701、Widget Management UI根据用户选择的Widget文件(此处具体为Widget1文件)查询该Widget文件所存储的文件路径,生成携带Widget文件的文件路径(此处具体为Widget1文件的文件路径)的Widget加载请求,并发送给Widget Engine进程;
S702、Widget Engine进程根据接收到的Widget加载请求,向WidgetRuntime线程发送加载Widget的通知以及Widget1文件的文件路径;
S703、Widget Runtime线程根据接收到的加载Widget的通知,为需要加载的Widget1创建对象,Widget1的对象可以称为Widget Player1;
S704、Widget Runtime线程在创建的对象Widget Player1中加载文件路径所指向的Widget1文件;
S705、Widget Runtime线程根据Widget1文件,进行对象Widget Player1在内存中的初始化,以启动对象Widget Player1运行,然后对象Widget Player1便可解释和执行Widget1,通过UIRender便可以在移动终端的桌面上向用户展现Widget1的用户界面。
需要指出的是,如果S705中在移动终端上展现Widget1的用户界面时,移动终端上同时运行着其它Widget(例如Widget2),并正在展现Widget2的用户界面,则隐藏该Widget2的用户界面,以展现Widget1的用户界面。
以一个实际应用场景为例进行说明。假设用户在移动终端上下载了两个Widget,日历Widget和天气Widget。如果用户需要在移动终端的桌面上显示日历Widget的用户界面,首先浏览文件目录,选择对应的日历Widget文件,Widget Management UI根据用户选择生成Widget加载请求并携带日历Widget文件的文件路径;Widget Engine进程根据接收到的Widget加载请求,向WidgetRuntime线程发送加载Widget的通知以及日历Widget文件的文件路径;WidgetRuntime线程在本线程中为需要加载的日历Widget创建一个对象WidgetPlayer,该对象在内存中代表了日历Widget,可以称为日历Widget Player;对象日历Widget Player创建完成之后,在该对象中加载文件路径指向的日历Widget文件,根据加载的日历Widget文件进行对象日历Widget Player在内存中的初始化,以启动对象日历Widget Player在Widget Runtime线程中的运行,至此就完成了加载日历Widget的流程,可以在移动终端上展现日历Widget的用户界面。如果移动终端的桌面上当前显示日历Widget的用户界面,而用户需要在桌面上显示天气Widget的用户界面,则处理流程与日历Widget的处理流程基本一致,不同的是,用户在文件目录中选择对应的天气Widget文件,Widget加载请求中携带天气Widget文件的文件路径,并且,在移动终端上展现天气Widget的用户界面时,隐藏日历Widget的用户界面。
可以看出,由于加载Widget是在一个独立的进程中所作的操作,不需要创建新的Widget应用进程,也不需要加载其它的库文件,所以系统开销占用的内存资源比较少,同时整个过程不需要OS的支持,OS不需要管理多个Widget应用进程,使得CPU的占用率大大降低。并且各Widget在同一个线程中运行,避免了不同Widget运行在不同线程中引起的线程数量增长过快,系统调度线程速度较慢的情况产生。同理,在启动Widget时,同一进程内同一线程的操作使得系统响应速度大大提高。
本发明实施例中,Widget之间的切换时序如图8所示,以从Widget1切换到Widget2为例进行说明,如果用户需要将移动终端上显示的Widget1的用户界面切换为已隐藏的Widget2的用户界面,则包括如下步骤:
S801、Widget Management UI根据用户选择生成Widget1与Widget2之间的切换请求,并发送给Widget Engine进程;
S802、Widget Engine进程根据接收到的切换请求,向Widget Runtime线程发送切换Widget2到前台的通知;
S803、Widget Runtime线程将Widget1的对象Widget Player1切换到后台;
S804、Widget Runtime线程将Widget2的对象Widget Player2切换到前台;
Widget Runtime线程将对象Widget Player1切换到后台,将对象WidgetPlayer2切换到前台,是通过调用操作系统的应用编程接口(API)实现的。
与现有解决方案相比,本发明实施例在进行Widget之间的切换时,不需要通过OS发送消息,通知将相应的Widget应用进程切换到前台或者后台,所以Widget切换的系统响应速度大大提高。
本发明实施例可以实现Widget之间的通信,进程内的通信与进程间的通信相比,实现简单,且通信效率有很大提高提高。Widget之间通信的时序图,如图9所示,以Widget1和Widget2进行通信为例进行说明,假设Widget1需要得知Widget2的某个事件,则包括如下步骤:
S901、Widget Runtime线程中Widget1的对象Widget Player1向WidgetManagement线程发送Widget2的事件的订阅请求,并传递回调函数的指针;
S902、Widget Management线程将该Widget2的事件的订阅请求发送给对象Widget Communication,以订阅Widget2的该事件;
S903、当Widget2的该事件发生时,Widget Runtime线程中Widget2的对象Widget Player2通知对象Widget Communication并立即返回,以不影响Widget2的正常运行;
本发明实施例中,对象Widget Communication向每一个Widget的对象Widget Player发送回调函数的指针,使得每一个Widget的事件发生时均会通过返回回调函数的方式通知对象Widget Communication;
S904、对象Widget Communication由于接收到Widget Management线程发送的Widget2的事件的订阅请求,则将Widget2的该事件发生的通知发送给Widget Management线程;
S905、Widget Management线程处于激活状态时,根据Widget1的对象Widget Player1发送的回调函数的指针,向对象Widget Player1返回该回调函数,通知Widget2的该事件发生。
这样就完成了Widget在进程内的通信。
本发明实施例中,所有的Widget都在一个独立的线程Widget Runtime中运行,所以多个Widget的并发操作是本发明实施例需要解决的一个重要问题,本发明实施例通过另一个独立的线程Widget Scheduler进行处理。因为所有的Widget都是需要在桌面上展现用户界面的应用,因而在大部分时间内,Widget处于空闲状态。Widget处于非空闲状态要么会立刻返回运行结果,要么会由于调用了某些系统功能而进行等待。当某一Widget的对象Widget Player调用一个需要等待的系统功能时,对象Widget Player会向Widget Scheduler线程申请该系统功能,并传入相应的回调函数,然后立刻返回,以继续该Widget的后续操作。Widget Scheduler线程用于统一处理系统功能的调用,在线程处于激活状态时调用系统功能。系统功能的调用分为同步调用和异步调用两种,如图10所示,假设对象Widget Player1调用的系统功能,Widget Scheduler线程采用同步调用的处理方式,对象Widget Player2的系统功能,Widget Scheduler线程采用异步调用的处理方式,其中,S1001~S1004为同步调用处理流程,S1005~S1008为异步调用处理流程,分别进行介绍:
S1001、对象Widget Player1向Widget Scheduler线程申请操作系统(OS)的系统功能1,并传入相应的回调函数的指针;
S1002、Widget Scheduler线程向OS传入系统功能1的调用参数之后等待,等待期间Widget Scheduler线程不再进行其它处理;
S1003、OS根据Widget Scheduler线程发送的调用参数执行相应的系统功能,即系统功能1,系统功能1完成后,OS将调用结果返回给Widget Scheduler线程;
S1004、Widget Scheduler线程根据回调函数的指针,向对象Widget Player1返回携带调用结果的回调函数。
S1005、对象Widget Player2向Widget Scheduler线程申请操作系统(OS)的系统功能2,并传入相应的回调函数的指针;
S1006、Widget Scheduler线程向OS传入该系统功能2的调用参数之后立即返回,返回之后Widget Scheduler线程可以进行其它处理;
S1007、OS将根据Widget Scheduler线程发送的调用参数执行相应的系统功能,即系统功能2,系统功能2完成后,OS向Widget Scheduler线程返回携带调用结果的通知;
S1008、Widget Scheduler线程根据接收到的通知,向对象Widget Player2返回携带调用结果的回调函数。
由于需要等待的系统功能调用都统一放置到Widget Scheduler线程中,所以多个Widget在同一进程中实现了并发操作。
本发明实施例中,系统运行过程只启动一个独立的加载Widget的进程,当启动一个新的Widget时,并不创建新的Widget应用进程,而是由该进程创建的运行Widget的线程进行处理,由于仍然在该独立的进程中进行解析和执行,从而解决了启动Widget时,系统响应速度较慢的问题,同时解决了启动多个Widget时内存占用率较高的问题,以及多个Widget在移动终端中运行时,CPU占用率较高的问题。
本发明实施例中,由于只启动了一个独立的加载Widget的进程,当用户切换不同的Widget时,只需进行进程内的用户界面切换,从而解决了Widget切换时系统响应速度较慢的问题。
本发明实施例中,多个Widget运行在一个独立的加载Widget的进程中,同时创建了一个独立的管理Widget的线程,使得各个Widget之间的通信得以实现,并且通信效率较高;并且还创建一个独立的调度Widget系统功能的线程来解决各个Widget的多任务并发问题。
本发明实施例中,只需部署一个可执行文件,其它均以库文件的形式发布,从而解决了文件部署时安装包过大和文件安装后占用移动终端的空间过大的问题。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种在移动终端上运行专用界面工具的方法,其特征在于,包括:
加载专用界面工具的进程根据接收到的携带文件路径的专用界面工具加载请求,向本进程创建的运行专用界面工具的线程发送加载专用界面工具的通知以及所述文件路径;
所述运行专用界面工具的线程根据接收到的通知为需要加载的专用界面工具创建对象,在专用界面工具的对象中加载所述文件路径指向的专用界面工具文件并启动所述专用界面工具的对象运行,在移动终端上展现所述专用界面工具的用户界面;
管理专用界面工具的线程接收第一专用界面工具的对象发送的第二专用界面工具的事件的订阅请求以及传递的回调函数的指针,并将所述订阅请求发送给处理专用界面工具通信的对象,所述管理专用界面工具的线程和处理专用界面工具通信的对象由所述加载专用界面工具的进程创建;
所述处理专用界面工具通信的对象接收第二专用界面工具的对象在所述第二专用界面工具的事件发生时发送的通知,并根据接收到的订阅请求将第二专用界面工具的事件发生的通知回传给所述管理专用界面工具的线程;
所述管理专用界面工具的线程根据所述回调函数的指针,向第一专用界面工具的对象返回所述回调函数,通知所述第二专用界面工具的事件发生。
2.如权利要求1所述的方法,其特征在于,还包括专用界面工具加载请求的生成方法,具体包括步骤:
专用界面工具管理用户界面向用户展现专用界面工具文件目录,所述专用界面工具文件目录中每一个专用界面工具文件对应一个已下载的专用界面工具;
根据用户在专用界面工具文件目录中选择的专用界面工具文件,查询所述专用界面工具文件所存储的文件路径,生成携带所述文件路径的专用界面工具加载请求。
3.如权利要求1所述的方法,其特征在于,还包括:
如果在移动终端上展现所述专用界面工具的用户界面时,所述移动终端上正在展现其它专用界面工具的用户界面,则隐藏该其它专用界面工具的用户界面。
4.如权利要求3所述的方法,其特征在于,如果用户选择将当前在移动终端上展现的第一专用界面工具的用户界面切换为已隐藏的第二专用界面工具的用户界面,所述方法还包括:
加载专用界面工具的进程根据接收到的第一专用界面工具与第二专用界面工具之间的切换请求,向所述运行专用界面工具的线程发送切换第二专用界面工具到前台的通知;
运行专用界面工具的线程根据接收到的通知将所述第一专用界面工具的对象切换到后台,所述第二专用界面工具的对象切换到前台。
5.如权利要求1、2或3所述的方法,其特征在于,还包括:
调度专用界面工具系统功能的线程接收专用界面工具的对象发送的系统功能申请以及传递的回调函数的指针,所述调度专用界面工具系统功能的线程由所述运行专用界面工具的线程创建;
所述调度专用界面工具系统功能的线程向操作系统传入所申请系统功能的调用参数,并等待接收操作系统根据所述调用参数执行所申请系统功能之后返回的调用结果;以及
根据回调函数的指针,向所述专用界面工具的对象返回携带调用结果的回调函数。
6.如权利要求1、2或3所述的方法,其特征在于,还包括:
调度专用界面工具系统功能的线程接收专用界面工具的对象发送的系统功能申请以及传递的回调函数的指针,所述调度专用界面工具系统功能的线程由所述运行专用界面工具的线程创建;
所述调度专用界面工具系统功能的线程向操作系统传入所申请系统功能的调用参数并立即返回;以及
接收操作系统根据所述调用参数执行所申请系统功能之后返回的携带调用结果的通知,并根据回调函数的指针,向所述专用界面工具的对象返回携带调用结果的回调函数。
7.一种在移动终端上运行专用界面工具的装置,其特征在于,包括加载专用界面工具的进程模块、运行专用界面工具的线程模块、管理专用界面工具的线程模块和处理专用界面工具通信的对象模块,所述管理专用界面工具的线程模块和处理专用界面工具通信的对象模块由所述加载专用界面工具的进程模块创建,其中:
所述加载专用界面工具的进程模块,用于根据接收到的携带文件路径的专用界面工具加载请求,向本进程模块创建的运行专用界面工具的线程模块发送加载专用界面工具的通知以及所述文件路径;
所述运行专用界面工具的线程模块,用于根据接收到的通知为需要加载的专用界面工具创建对象,在专用界面工具的对象中加载所述文件路径指向的专用界面工具文件并启动所述专用界面工具的对象运行,在移动终端上展现所述专用界面工具的用户界面;
所述管理专用界面工具的线程模块,用于接收第一专用界面工具的对象发送的第二专用界面工具的事件的订阅请求以及传递的回调函数的指针,并将所述订阅请求发送给处理专用界面工具通信的对象模块,以及接收到所述处理专用界面工具通信的对象模块回传的第二专用界面工具的事件发生的通知时,根据所述回调函数的指针,向第一专用界面工具的对象返回所述回调函数,通知所述第二专用界面工具的事件发生;
所述处理专用界面工具通信的对象模块,用于接收第二专用界面工具的对象在所述第二专用界面工具的事件发生时发送的通知,并根据接收到的订阅请求将第二专用界面工具的事件发生的通知回传给所述管理专用界面工具的线程模块。
8.如权利要求7所述的装置,其特征在于,还包括:
专用界面工具管理用户界面模块,用于向用户展现专用界面工具文件目录,根据用户在专用界面工具文件目录中选择的专用界面工具文件,查询所述专用界面工具文件所存储的文件路径,生成携带所述文件路径的专用界面工具加载请求,所述专用界面工具文件目录中每一个专用界面工具文件对应一个已下载的专用界面工具。
9.如权利要求7或8所述的装置,其特征在于,还包括调度专用界面工具系统功能的线程模块,所述调度专用界面工具系统功能的线程模块由所述运行专用界面工具的线程模块创建,其中:
所述调度专用界面工具系统功能的线程模块,用于接收专用界面工具的对象发送的系统功能申请以及传入的回调函数的指针,向操作系统传入所申请系统功能的调用参数,并等待接收操作系统根据所述调用参数执行所申请系统功能之后返回的调用结果,以及根据回调函数的指针,向所述专用界面工具的对象返回携带调用结果的回调函数;
或者,所述调度专用界面工具系统功能的线程模块,用于接收专用界面工具的对象发送的系统功能申请以及传入的回调函数的指针,向操作系统传入所申请系统功能的调用参数并立即返回,以及接收操作系统根据所述调用参数执行所申请系统功能之后返回的携带调用结果的通知,并根据回调函数的指针,向所述专用界面工具的对象返回携带调用结果的回调函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101192272A CN101661392B (zh) | 2008-08-29 | 2008-08-29 | 在移动终端上运行专用界面工具的方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101192272A CN101661392B (zh) | 2008-08-29 | 2008-08-29 | 在移动终端上运行专用界面工具的方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101661392A CN101661392A (zh) | 2010-03-03 |
CN101661392B true CN101661392B (zh) | 2012-07-25 |
Family
ID=41789441
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101192272A Expired - Fee Related CN101661392B (zh) | 2008-08-29 | 2008-08-29 | 在移动终端上运行专用界面工具的方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101661392B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833448B (zh) * | 2010-04-12 | 2015-05-20 | 中兴通讯股份有限公司 | 一种基于buiw平台的信息条显示的方法及装置 |
CN102141912B (zh) * | 2010-06-04 | 2013-12-18 | 华为技术有限公司 | 一种处理多类引擎Widget的方法及装置 |
CN101969457B (zh) * | 2010-09-25 | 2012-09-05 | 浙江大学 | 基于赫夫曼树的服务器端移动widget管理及查找方法 |
CN102724169B (zh) * | 2011-03-30 | 2018-04-20 | 上海亿动信息技术有限公司 | 一种用于移动广告系统的后台架构及控制系统 |
CN102323887B (zh) * | 2011-06-30 | 2017-02-08 | 中兴通讯股份有限公司 | 基于浏览器引擎的动态加载Widget的方法及移动终端 |
CN104267979A (zh) * | 2014-09-16 | 2015-01-07 | 海视云(北京)科技有限公司 | 在桌面启动器Launcher上启动应用的方法、装置和终端 |
CN105183556B (zh) * | 2015-08-11 | 2019-02-05 | Oppo广东移动通信有限公司 | 移动终端的资源管控方法和相关设备 |
CN107168738A (zh) * | 2017-05-12 | 2017-09-15 | 广州视源电子科技股份有限公司 | 一种应用工具的管理方法、装置、设备和存储介质 |
CN110309005B (zh) * | 2019-06-28 | 2022-03-25 | 百度在线网络技术(北京)有限公司 | 一种功能调用方法、装置、终端设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1519712A (zh) * | 2003-01-22 | 2004-08-11 | 北京科泰世纪科技有限公司 | 基于工作例程/主导例程与代理构件在本地/远程运行线程/进程的方法 |
CN1641569A (zh) * | 2004-01-06 | 2005-07-20 | 英业达股份有限公司 | Java小应用程序下插件功能的实现方法 |
CN1928826A (zh) * | 2006-08-02 | 2007-03-14 | 爱普拉斯通信技术(北京)有限公司 | 多任务调度系统和方法 |
-
2008
- 2008-08-29 CN CN2008101192272A patent/CN101661392B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1519712A (zh) * | 2003-01-22 | 2004-08-11 | 北京科泰世纪科技有限公司 | 基于工作例程/主导例程与代理构件在本地/远程运行线程/进程的方法 |
CN1641569A (zh) * | 2004-01-06 | 2005-07-20 | 英业达股份有限公司 | Java小应用程序下插件功能的实现方法 |
CN1928826A (zh) * | 2006-08-02 | 2007-03-14 | 爱普拉斯通信技术(北京)有限公司 | 多任务调度系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101661392A (zh) | 2010-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101661392B (zh) | 在移动终端上运行专用界面工具的方法、装置及设备 | |
WO2021103479A1 (zh) | 用于训练深度学习模型的方法和装置 | |
US10983811B2 (en) | Multi-process model for cross-platform applications | |
US9501319B2 (en) | Method and apparatus for scheduling blocking tasks | |
CN106293880B (zh) | 在Windows系统上运行Android应用程序的方法及装置 | |
CN111158818A (zh) | 一种页面渲染方法和装置 | |
CN110300328B (zh) | 一种视频播放控制方法、装置及可读存储介质 | |
EP3839722A1 (en) | Micro frontends with model-based state | |
CN103345405A (zh) | 应用程序的启动方法、装置和客户端 | |
WO2006096919A1 (en) | Method for distributing computing between server and client | |
WO2013192231A1 (en) | Managing use of a field programmable gate array by multiple processes in an operating system | |
EP2201455A1 (en) | Method and system for changing execution environments during application execution | |
CN110955499B (zh) | 处理器核心配置方法、装置、终端及存储介质 | |
KR20200140380A (ko) | 프로세서 코어를 스케쥴링하는 방법, 장치, 단말 및 저장 매체 | |
WO2007141498A1 (en) | User interfaces for electronic devices | |
CN114125028A (zh) | 微应用的运行方法、装置、设备、存储介质及程序产品 | |
CN115794262A (zh) | 任务处理方法、装置、设备、存储介质以及程序产品 | |
US8190747B2 (en) | Mobile communications device and associated application for use thereon | |
CN114691273A (zh) | 用户界面返回方法、装置、电子设备和存储介质 | |
WO2023124657A1 (zh) | 微应用的运行方法、装置、设备、存储介质及程序产品 | |
CN102339222A (zh) | 在oms手机上启动应用程序的方法 | |
CN111258715B (zh) | 多操作系统渲染处理方法及装置 | |
CN113050962B (zh) | 移动服务升级方法、装置和终端 | |
CN115129438A (zh) | 任务分布式调度的方法和装置 | |
EP4182791A1 (en) | Pre-launching an application using interprocess communication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120725 Termination date: 20200829 |