一种应用程序的进程的性能确定方法和计算机系统的制作方法

文档序号:6401893阅读:317来源:国知局
专利名称:一种应用程序的进程的性能确定方法和计算机系统的制作方法
技术领域
本发明涉及计算机技术领域,特别涉及应用程序的进程的性能确定方法和计算机系统。
背景技术
一个应用程序的进程的性能可以用多种参数来衡量,其中,应用程序的进程的启动耗时是一个比较重要的衡量参数,如果该启动耗时能准确地获取到,则可以准确地衡量应用程序的进程的启动性能。
现有技术中,在获取一个应用程序的进程的启动耗时时,可以获取该应用程序的进程启动结束时刻t2与进程启动时刻tl,并计算时刻t2和时刻tl的差值,从而确定了一个应用程序的进程的启动耗时。其中在获取应用程序的进程启动结束时刻t2时,可以将该应用程序对应的用户交互窗口的开启时刻作为应用程序的进程启动结束时刻tl,但是有些应用程序的进程是没有用户交互窗口的,比如命令行界面(Command Line Interface,⑶I)的应用程序,这样使得现有技术中获得的应用程序的进程的启动耗时不是很准确,从而确定的应用程序的进程的启动性能也不是很准确。发明内容
本发明实施例提供应用程序的进程的性能确定方法和计算机系统,使得确定的应用程序的进程的启动性能更为准确。
本发明实施例提供一种应用程序的进程的性能确定方法,包括:
当应用程序的进程启动时,获取所述应用程序的进程启动时刻;
确定所述应用程序的进程能响应用户输入的时刻;
将所述能响应用户输入的时刻作为所述应用程序的进程启动结束时刻,根据所述进程启动时刻和所述进程启动结束时刻获取所述应用程序的启动耗时,以确定所述应用程序的进程的启动性能。
本发明实施例提供一种计算机系统,包括:
进程启动单元,用于启动应用程序的进程;
启动时刻获取单元,用于当所述进程启动单元启动应用程序的进程时,获取所述应用程序的进程启动时刻;
响应时刻确定单元,用于确定所述应用程序的进程能响应用户输入的时刻;
性能确定单元,用于将所述能响应用户输入的时刻作为所述应用程序的进程启动结束时刻,根据所述进程启动时刻和所述进程启动结束时刻获取所述应用程序的启动耗时,以确定所述应用程序的进程的启动性能。
本发明实施例的方法中,当应用程序的进程启动时,应用程序的进程的性能确定装置会获取该应用程序的进程启动时刻,确定应用程序的进程能响应用户输入的时刻,将能响应用户输入的时刻作为应用程序的进程启动结束时刻,根据进程启动时刻和进程启动结束时刻获取应用程序的启动耗时,以确定应用程序的进程的启动性能。这样即使有些应用程序的进程没有用户交互界面,也不会影响到对于应用程序的进程的启动耗时的计算,从而使得获得的应用程序的进程的启动耗时较为准确,进而确定的应用程序的进程的启动性能也比较准确。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种应用程序的进程的性能确定方法的流程图2是本发明实施例提供的另一种应用程序的进程的性能确定方法的流程图3是本发明实施例提供的另一种应用程序的进程的性能确定方法的流程图4是本发明实施例提供的一种计算机系统的结构示意图5是本发明实施例提供的另一种计算机系统的结构示意图6是本发明实施例提供的另一种计算机系统的结构示意图7是本发明实施例提供的一种应用程序的进程的性能确定方法应用于的终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种应用程序的进程的性能确定方法,主要是通过对应用程序的进程的启动时间来确定,本发明实施例的方法是应用程序的进程的性能确定装置所执行的方法,流程图如图1所示,包括:
步骤101,当应用程序的进程启动时,获取应用程序的进程启动时刻tl。
可以理解,应用程序的进程的性能确定装置在确定一个应用程序的进程的启动性能时,需要获取该应用程序的进程的多个参数来确定,其中如果要确定该应用程序的进程启动的性能时,需要先获取该应用程序的进程的启动耗时,首先应用程序的进程的性能确定装置获取该应用程序的进程启动时刻。
在具体实现的过程中,应用程序的进程的性能确定装置可以首先调用创建进程(CreateProcess)的应用程序编程接口(Application Programming Interface,API),来创建该应用程序的进程;而对于有些不能创建的应用程序的进程,应用程序的进程的性能确定装置可以提示用户手动启动应用程序,比如通过点击应用程序的进程的图标。然后应用程序的进程的性能确定装置可以调用获取启动时刻(GetTickCount)的API,来获取该应用程序的进程启动时刻。
步骤102,确定应用程序的进程能响应用户输入的时刻,有些应用程序的进程能接收用户输入的信息,并根据该用户输入的信息执行一定的操作,这里应用程序的进程能响应用户输入是指该应用程序的进程能接收用户输入的信息,具体地,可以判断该应用程序的进程是否能接收鼠标和/或键盘的输入等,即鼠标或键盘是否能打断该应用程序的进程,如果可以,则说明应用程序的进程能响应用户输入。
步骤103,将步骤102中确定的能响应用户输入的时刻作为应用程序的进程启动结束时刻t2,根据进程启动时刻11和进程启动结束时刻t2获取应用程序的启动耗时,即该启动耗时为进程启动结束时刻t2与进程启动时刻tl之差,以确定应用程序的进程的启动性能,如果一个应用程序的启动耗时较长,则该应用程序的进程的启动性能较差,需要进行进一步地优化。
需要说明的是,上述应用程序的进程就是一个活跃着的应用程序,即应用程序的进程的性能确定装置已经将应用程序的代码放到应用程序的进程的性能确定装置的存储模块中,占有了一定的系统资源的应用程序,一个应用程序在没有被调用到内存空间之前叫做为程序,被调用并得到了资源后就可以称为进程,每个应用程序的代码对应储存在存储模块中的一段空间中,且一个应用程序的进程可以包括多个执行线程。一个应用程序的进程启动是指将执行该应用程序的进程时所需要的代码及其它信息加载到应用程序的进程的性能确定装置的存储模块,则该应用程序的进程启动时刻为开始加载代码及其它信息的时刻,而该应用程序的进程启动结束时刻为代码及其它信息加载完成的时刻。
可见,本发明实施例的方法中,当应用程序的进程启动时,应用程序的进程的性能确定装置会获取该应用程序的进程启动时刻,确定应用程序的进程能响应用户输入的时亥|J,将能响应用户输入的时刻作为应用程序的进程启动结束时刻,根据进程启动时刻和进程启动结束时刻获取应用程序的启动耗时,以确定应用程序的进程的启动性能。这样即使有些应用程序的进程没有用户交互界面,也不会影响到对于应用程序的进程的启动耗时的计算,从而使得获得的应用程序的进程的启动耗时较为准确,进而确定的应用程序的进程的启动性能也比较准确。
参考图2所示,在一个具体的实施例中,如果应用程序是CUI的应用程序,比如实现Ping命令的应用程序,该应用程序通常不支持鼠标,用户通过键盘输入指令,当该应用程序的进程接收到用户输入的指令后执行该指令,应用程序的进程的性能确定装置可以通过如下的步骤来实现上述步骤102:
Al:调用等待空闲输入(WaitForIdleInput)接口,以便确定应用程序的进程是否能响应用户输入,当应用程序的进程的性能确定装置调用等待空闲输入接口时,当该等待空闲输入接口确认应用程序的进程有空闲能力处理用户输入时会返回,如果该应用程序的进程还没有空闲能力处理用户输入时,该等待空闲输入接口则不会返回。
A2:将等待空闲输入接口返回的时刻作为应用程序的进程能响应用户输入的时刻。
进一步地,当该等待空闲输入接口在预置的第一超时时间内没有返回,则应用程序的进程的性能确定装置会停止执行上述步骤102,即确定应用程序的进程能响应用户输入的时刻。这样在该应用程序的进程的启动过程中,由于一些原因比如有些执行线程处于死循环中而使得该应用程序的进程不能响应用户输入,则应用程序的进程的性能确定装置会停止获取该应用程序的进程启动耗时的过程,从而不会影响该应用程序的进程的执行。
可见,本实施例中,由于CUI的应用程序的进程的启动不会被其它执行线程打断,则通过等待空闲输入接口即可较为方便地确定该应用程序的进程能响应用户输入的时刻,从而获取该应用程序的进程的启动耗时。
参考图3所示,在另一个具体的实施例中,如果应用程序是图形用户界面(Graphical User Interface,⑶I)的应用程序,比如资源管理器等,该应用程序的进程在启动的过程中,不仅需要加载该应用程序的代码及其它信息,还需要采用图形方式显示用户交互的窗口(包括主窗口和非主窗口),则在这种类型应用程序的进程启动过程中包括多个执行线程,应用程序的进程的性能确定装置可以通过如下的步骤来实现上述步骤102:
B1:监听应用程序对应的用户交互的主窗口是否开启。
B2:当监听到应用程序对应的用户交互的主窗口开启后,向应用程序对应的主窗口发送一个消息,其中主窗口是指应用程序的进程最外层的窗口,通常为面积最大的一个窗P。
应用程序的进程的性能确定装置具体可以调用消息监听(SetWindowsHookEx)接口或事件监听(SetWinEventHook)接口,以等待应用程序的消息或事件的通知。如果应用程序的进程的性能确定装置调用消息监听接口时,该消息监听接口会选择监听应用程序对应的窗口显示的消息,也可以选择监听其它消息,并在监听到这些消息时判断是否是用户交互的主窗口的显示消息,如果是,则说明该应用程序对应的主窗口已经显示;如果应用程序的进程的性能确定装置调用事件监听接口时,该事件监听接口会监听该应用程序对应的主窗口显示事件,并选择监听应用程序对应的主窗口显示的消息等,并在监听到这些显示事件时判断是否是用户交互的主窗口的显示事件,如果是,则说明该应用程序对应的主窗口已经显示。
当监听到该应用程序对应的主窗口已经显示,则应用程序的进程的性能确定装置会向该主窗口发送一个消息,该消息的随意一个消息,具体地,应用程序的进程的性能确定装置可以调用消息发送(SendMessage)接口来发送该消息,如果主窗口响应该消息时,则说明应用程序的进程也可以响应用户输入了,则将主窗口的响应时刻作为应用程序的进程能响应用户输入的时刻。
B3:确定应用程序的进程能响应用户输入的时刻为应用程序对应的主窗口对上述发送的消息的响应时刻。
进一步地,当该应用程序对应的用户交互的主窗口在预置的第二超时时间内没有响应步骤B2中应用程序的进程的性能确定装置发送的消息,则应用程序的进程的性能确定装置会停止执行上述步骤102,即确定应用程序的进程能响应用户输入的时刻。这样在该应用程序的进程的启动过程中,由于一些原因比如有些执行线程处于死循环中而使得该应用程序的进程不能响应用户输入,则应用程序的进程的性能确定装置会停止获取该应用程序的进程启动耗时的过程,从而不会影响该应用程序的进程的执行。
可见,本实施例中,由于GUI的应用程序的进程的启动过程中包括多个执行线程,该应用程序对应的用户交互的主窗口在显示后的一段时间内,有可能无法响应用户输入,这种情况下,该应用程序的进程并没有完全启动。则本实施例中,需要确定在主窗口显示后且能响应用户输入的时刻作为该应用应用程序的进程启动结束时刻,从而获取的该应用程序的进程的启动耗时也较为准确。
本发明实施例还提供一种计算机系统,即上述的应用程序的进程的性能确定装置,该计算机系统中各个单元之间可以按照上述方法实施例来确定应用程序的进程的启动性能,计算机系统的结构示意图可以如图4所示,包括:
进程启动单元10,用于启动应用程序的进程。
启动时刻获取单元11,用于当所述进程启动单元11启动应用程序的进程时,获取所述应用程序的进程启动时刻,具体地,启动时刻获取单元11可以调用获取启动时刻的API,来获取进程启动单元10开始启动应用程序的进程的时刻。
响应时刻确定单元12,用于确定所述应用程序的进程能响应用户输入的时刻。
性能确定单元13,用于将所述响应时刻确定单元12确定的应用程序的进程能响应用户输入的时刻作为所述应用程序的进程启动结束时刻,即该启动耗时为进程启动结束时刻t2与进程启动时刻tl之差,根据所述启动时刻获取单元11获取的进程启动时刻和所述进程启动结束时刻获取所述应用程序的启动耗时,以确定所述应用程序的进程的启动性倉泛。
本发明实施例的计算机系统中,当进程启动单元10启动应用程序的进程时,启动时刻获取单元11会获取该应用程序的进程启动时刻,响应时刻确定单元12确定应用程序的进程能响应用户输入的时刻,性能确定单元13将能响应用户输入的时刻作为应用程序的进程启动结束时刻,根据进程启动时刻和进程启动结束时刻获取应用程序的启动耗时,以确定应用程序的进程的启动性能。这样即使有些应用程序的进程没有用户交互界面,也不会影响到对于应用程序的进程的启动耗时的计算,从而使得获得的应用程序的进程的启动耗时较为准确,进而确定的应用程序的进程的启动性能也比较准确。
参考图5所示,在一个具体的实施例中,当应用程序是命令行界面CUI的应用程序,则计算机系统除了可以包括如图4所示的结构外,还可以包括第一停止单元14,且其中的响应时刻确定单元12具体可以通过输入调用单元120和第一时刻确定单元121来实现,具体地:
输入调用单元120,用于调用等待空闲输入接口,以便确定所述进程启动单元10启动的应用程序的进程是否能响应用户输入。
第一时刻确定单元121,用于将所述输入调用单元120调用的等待空闲输入接口返回的时刻作为所述应用程序的进程能响应用户输入的时刻。
第一停止单元14,用于当所述输入调用单元120调用的等待空闲输入接口在预置的第一超时时间内没有返回,则通知所述响应时刻确定单元12停止确定所述应用程序的进程能响应用户输入的时刻。
本实施例的计算机系统中,响应时刻确定单元12中的输入调用单元120可以调用等待空闲输入接口,由第一时刻确定单元121来统计该等待空闲输入接口返回的时刻,则性能确定单元13会将第一时刻确定单元121确定的时刻作为应用程序的进程启动结束时亥IJ。如果等待空闲输入接口在预置的第一超时时间内没有返回,则第一停止单元14会通知响应时刻确定单元12停止确定该应用程序的进程能响应用户输入的时刻。
参考图6所示,在一个具体的实施例中,当应用程序是图形用户界面GUI的应用程序,计算机系统除了可以包括如图4所示的结构外,还可以包括第二停止单元15,且其中的响应时刻确定单元12具体可以通过消息发送单元122和第二时刻确定单元123和监听单元124来实现,具体地:
监听单元124,用于监听所述应用程序对应的用户交互的主窗口是否开启;该监听单元124具体可以调用消息监听接口或事件监听接口,以等待所述应用程序的消息或者事件的通知;当所述消息监听接口或事件监听接口收到所述应用程序的消息或者事件通知时,判断是否是用户交互的主窗口显示消息或事件,如果是,则说明该监听单元124监听到所述应用程序对应的用户交互的主窗口开启。
消息发送单元122,用于当监听单元124监听到所述应用程序对应的用户交互的主窗口开启后,向所述进程启动单元10启动的应用程序对应的主窗口发送一个消息;
第二时刻确定单元123,用于将到所述应用程序对应的主窗口对所述消息发送单元122发送的消息的响应时刻作为所述应用程序的进程能响应用户输入的时刻。
第二停止单元15,用于当所述主窗口在预置的第二超时时间内没有响应所述消息发送单元122发送的消息时,则停止确定所述应用程序的进程能响应用户输入的时刻。
本实施例的计算机系统中,响应时刻确定单元12中的消息发送单元122可以在监听到应用程序对应的用户交互的主窗口开启后,发送随意一个消息,由第二时刻确定单元123来统计上述开启的主窗口对该消息的响应时刻,则性能确定单元13会将第二时刻确定单元123确定的时刻作为应用程序的进程启动结束时刻。如果主窗口在预置的第一超时时间内没有返回对该消息的响应,则第二停止单元15会通知响应时刻确定单元12停止确定该应用程序的进程能响应用户输入的时刻。
以下主要以本发明实施例的应用程序的进程的性能确定方法应用于终端中来举例说明,该终端可以包括智能手机、平板电脑、电子书阅读器、动态影像专家压缩标准音频层面 3(Moving Picture Experts Group Audio Layer III, MP3)播放器、动态影像专家压缩标准音频层面4(Moving Picture Experts Group Audio Layer IV,MP4)播放器、膝上型便携计算机和台式计算机等等。
请参考图7,其示出了本发明实施例所涉及的终端的结构示意图,具体来讲:
终端可以包括射频(Radio Frequency, RF)电路20、包括有一个或一个以上计算机可读存储介质的存储器21、输入单元22、显示单元23、传感器24、音频电路25、无线保真(wireless fidelity,WiFi)模块26、包括有一个或者一个以上处理核心的处理器27、以及电源28等部件。本领域技术人员可以理解,图7中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路20可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器27处理;另外,将涉及上行的数据发送给基站。通常,RF电路20包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM)卡、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路20还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global System of Mobilecommunication, GSM)、通用分组无线服务(General Packet Radio Service, GPRS)、码分多址(Code Division Multiple Access, CDMA)、宽带码分多址(Wideband Code DivisionMultiple Access, WCDMA)、长期演进(Long Term Evolution, LTE)、电子邮件、短消息服务(Short Messaging Service, SMS)等。
存储器21可用于存储软件程序以及模块,处理器27通过运行存储在存储器21的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器21可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器21可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器21还可以包括存储器控制器,以提供处理器27和输入单元22对存储器21的访问。
输入单元22可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元22可包括触敏表面221以及其他输入设备222。触敏表面221,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面221上或在触敏表面221附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面221可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器27,并能接收处理器27发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面221。除了触敏表面221,输入单元22还可以包括其他输入设备222。具体地,其他输入设备222可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元23可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元23可包括显示面板231,可选的,可以采用液晶显示器(Liquid Crystal Display,IXD)、有机发光二极管(Organic Light-Emitting Diode, OLED)等形式来配置显示面板231。进一步的,触敏表面221可覆盖显示面板231,当触敏表面221检测到在其上或附近的触摸操作后,传送给处理器27以确定触摸事件的类型,随后处理器27根据触摸事件的类型在显示面板231上提供相应的视觉输出。虽然在图7中,触敏表面221与显示面板231是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面221与显示面板231集成而实现输入和输出功能。
终端还可包括至少一种传感器24,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板231的亮度,接近传感器可在终端移动到耳边时,关闭显示面板231和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路25、扬声器251,传声器252可提供用户与终端之间的音频接口。音频电路25可将接收到的音频数据转换后的电信号,传输到扬声器251,由扬声器251转换为声音信号输出;另一方面,传声器252将收集的声音信号转换为电信号,由音频电路25接收后转换为音频数据,再将音频数据输出处理器27处理后,经RF电路20以发送给比如另一终端,或者将音频数据输出至存储器21以便进一步处理。音频电路25还可能包括耳塞插孔,以提供外设耳机与终端的通信。
WiFi属于短距离无线传输技术,终端通过WiFi模块26可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块26,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器27是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器21内的软件程序和/或模块,以及调用存储在存储器21内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器27可包括一个或多个处理核心;优选的,处理器27可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器27中。
终端还包括给各个部件供电的电源28(比如电池),优选的,电源可以通过电源管理系统与处理器27逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源28还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器27会按照如下的指令,执行存储器21中储存的一个或一个以上的应用程序,从而实现各种功能:
当应用程序的进程启动时,获取应用程序的进程启动时刻;
确定应用程序的进程能响应用户输入的时刻;
将能响应用户输入的时刻作为应用程序的进程启动结束时刻,根据进程启动时刻和进程启动结束时刻获取应用程序的启动耗时,以确定应用程序的进程的启动性能。
进一步地,如果该应用程序是命令行界面CUI的应用程序时,则处理器27在确定应用程序的进程能响应用户输入的时刻时,可以调用等待空闲输入接口,以便确定所述应用程序的进程是否能响应用户输入;将所述等待空闲输入接口返回的时刻作为所述应用程序的进程能响应用户输入的时刻。如果等待空闲输入接口在预置的第一超时时间内没有返回,则停止确定所述应用程序的进程能响应用户输入的时刻。
另外一方面,如果该应用程序是图形用户界面GUI的应用程序时,则处理器27在确定应用程序的进程能响应用户输入的时刻时,会监听所述应用程序对应的用户交互的主窗口是否开启,当监听到所述应用程序对应的用户交互的主窗口开启后,向所述应用程序对应的主窗口发送一个消息;将到所述应用程序对应的主窗口的响应时刻作为所述应用程序的进程能响应用户输入的时刻。如果所述主窗口在预置的第二时间内没有响应所述消息时,则停止确定所述应用程序的进程能响应用户输入的时刻。
其中,处理器27在监听所述应用程序对应的用户交互的主窗口开启时,具体可以调用消息监听接口或事件监听接口,,以等待所述应用程序的消息或者事件的通知;当所述消息监听接口或事件监听接口收到所述应用程序的消息或者事件通知时,判断是否是用户交互的主窗口显示消息或事件,如果是,则监听到所述应用程序对应的用户交互的主窗口开启。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器(RAM)、磁盘或光盘等。
以上对本发明实施例所提供的应用程序的进程的性能确定方法和计算机系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式
及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种应用程序的进程的性能确定方法,其特征在于,包括: 当应用程序的进程启动时,获取所述应用程序的进程启动时刻; 确定所述应用程序的进程能响应用户输入的时刻; 将所述能响应用户输入的时刻作为所述应用程序的进程启动结束时刻,根据所述进程启动时刻和所述进程启动结束时刻获取所述应用程序的启动耗时,以确定所述应用程序的进程的启动性能。
2.如权利要求1所述的方法,其特征在于,当所述应用程序是命令行界面CUI的应用程序,则所述确定所述应用程序的进程能响应用户输入的时刻,具体包括: 调用等待空闲输入接口,以便确定所述应用程序的进程是否能响应用户输入; 将所述等待空闲输入接口返回的时刻作为所述应用程序的进程能响应用户输入的时刻。
3.如权利要求2所述的方法,其特征在于,当所述等待空闲输入接口在预置的第一超时时间内没有返回,则停止确定所述应用程序的进程能响应用户输入的时刻。
4.如权利要求1所述的方法,其特征在于,当所述应用程序是图形用户界面GUI的应用程序,则所述确定所述应用程序的进程能响应用户输入的时刻,具体包括: 监听所述应用程序对应的用户交互的主窗口是否开启; 当监听到所述应用程序对应的用户交互的主窗口开启后,向所述应用程序对应的主窗口发送一个消息; 将到所述应用程序对应的主窗口的响应时刻作为所述应用程序的进程能响应用户输入的时刻。
5.如权利要求4所述的方法,其特征在于,所述监听所述应用程序对应的用户交互的主窗口是否开启,具体包括: 调用消息监听接口或事件监听接口,以等待所述应用程序的消息或者事件的通知; 当所述消息监听接口或事件监听接口收到所述应用程序的消息或者事件通知时,判断是否是用户交互的主窗口显示消息或事件,如果是,则监听到所述应用程序对应的用户交互的主窗口开启。
6.如权利要求4或5所述的方法,其特征在于,当所述主窗口在预置的第二超时时间内没有响应所述消息时,则停止确定所述应用程序的进程能响应用户输入的时刻。
7.一种计算机系统,其特征在于,包括: 进程启动单元,用于启动应 用程序的进程; 启动时刻获取单元,用于当所述进程启动单元启动应用程序的进程时,获取所述应用程序的进程启动时刻; 响应时刻确定单元,用于确定所述应用程序的进程能响应用户输入的时刻; 性能确定单元,用于将所述能响应用户输入的时刻作为所述应用程序的进程启动结束时刻,根据所述进程启动时刻和所述进程启动结束时刻获取所述应用程序的启动耗时,以确定所述应用程序的进程的启动性能。
8.如权利要求7所述的计算机系统,其特征在于,当所述应用程序是命令行界面CUI的应用程序,则所述响应时刻确定单元,具体包括: 输入调用单元,用于调用等待空闲输入接口,以便确定所述应用程序的进程是否能响应用户输入; 第一时刻确定单元,用于将所述等待空闲输入接口返回的时刻作为所述应用程序的进程能响应用户输入的时刻。
9.如权利要求8所述的计算机系统,其特征在于,所述系统还包括: 第一停止单元,用于当所述等待空闲输入接口在预置的第一超时时间内没有返回,则通知所述响应时刻确定单元停止确定所述应用程序的进程能响应用户输入的时刻。
10.如权利要求7所述的计算机系统,其特征在于,当所述应用程序是图形用户界面GUI的应用程序,则所述响应时刻确定单元,具体包括: 监听单元,用于监听所述应用程序对应的用户交互的主窗口是否开启; 消息发送单元,用于当所述监听单元监听到所述应用程序对应的用户交互的主窗口开启后,向所述应用程序对应的主窗口发送一个消息; 第二时刻确定单元,用于将到所述应用程序对应的主窗口的响应时刻作为所述应用程序的进程能响应用户输入的时刻。
11.如权利要求10所述的计算机系统,其特征在于, 所述监听单元,具体用于调用消息监听接口或事件监听接口,以等待所述应用程序的消息或者事件的通知;当所述消息监听接口或事件监听接口收到所述应用程序的消息或者事件通知时,判断是否是用户交互的主窗口显示消息或事件,如果是,则监听到所述应用程序对应的用户交互的主窗口开启。
12.如权利要求10或11所述的计算机系统,其特征在于,所述系统还包括: 第二停止单元,用于当所述主窗口在预置的第二超时时间内没有响应所述消息时,则停止确定所述应用程序的进程 能响应用户输入的时刻。
全文摘要
本发明实施例公开了应用程序的进程的性能确定方法和计算机系统,应用于计算机技术领域。本发明实施例的方法中,当应用程序的进程启动时,应用程序的进程的性能确定装置会获取该应用程序的进程启动时刻,确定应用程序的进程能响应用户输入的时刻,将能响应用户输入的时刻作为应用程序的进程启动结束时刻,根据进程启动时刻和进程启动结束时刻获取应用程序的启动耗时,以确定应用程序的进程的启动性能。这样即使有些应用程序的进程没有用户交互界面,也不会影响到对于应用程序的进程的启动耗时的计算,从而使得获得的应用程序的进程的启动耗时较为准确,进而确定的应用程序的进程的启动性能也比较准确。
文档编号G06F9/445GK103197944SQ20131012499
公开日2013年7月10日 申请日期2013年4月11日 优先权日2013年4月11日
发明者毕廷礼, 聂科峰 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1