CN106681827A - 一种检测软件运行卡慢的方法及装置、电子设备 - Google Patents

一种检测软件运行卡慢的方法及装置、电子设备 Download PDF

Info

Publication number
CN106681827A
CN106681827A CN201610309346.9A CN201610309346A CN106681827A CN 106681827 A CN106681827 A CN 106681827A CN 201610309346 A CN201610309346 A CN 201610309346A CN 106681827 A CN106681827 A CN 106681827A
Authority
CN
China
Prior art keywords
window
software
collection
response time
electronic equipment
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.)
Granted
Application number
CN201610309346.9A
Other languages
English (en)
Other versions
CN106681827B (zh
Inventor
郑俊明
谭开帅
杨卫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610309346.9A priority Critical patent/CN106681827B/zh
Publication of CN106681827A publication Critical patent/CN106681827A/zh
Application granted granted Critical
Publication of CN106681827B publication Critical patent/CN106681827B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种检测软件运行卡慢的方法及装置、电子设备,其中,所述方法包括:确定正在运行在电子设备上的第一进程集合,所述第一进程集合至少包括一个第一进程;确定所述第一进程集合中每一所述第一进程的响应时间;根据每一所述第一进程的响应时间和对应的第一阈值从所述第一进程集合中确定第二进程集合,所述第二进程集合包括第二进程;根据所述第二进程集合中的第二进程确定待优化的软件。

Description

一种检测软件运行卡慢的方法及装置、电子设备
技术领域
本发明涉及电子技术,尤其涉及一种检测软件运行卡慢的方法及装置、电子设备。
背景技术
电子设备如手机、笔记本电脑、台式机电脑、平板电脑等设备已经成为人们生活中必不可少的组成部分,人们利用电子设备进行工作和生活。随着科技的发展,电子设备的功能越来越强大,人们可以使用手机进行看视频、浏览网页、玩游戏和进行电子商务交易等活动。人们在使用电子设备的时候,往往需要安装一些应用程序(APP,Application,简称应用)来进行,例如,用户如果需要进行社交活动,那么用户需要在电子设备上安装社交类应用如QQ,如果用户需要与朋友聊天,那么用户需要在电子设备上安装聊天类应用。
随着用户安装的应用越来越多,用户同时使用的应用也会越多,例如有时候用户会同时开启社交应用、聊天应用、金融应用、视频应用、金融应用等应用。当用户同时开启很多应用的时候,电子设备就会出现运行很卡和运行变慢的情况(简称卡慢),这是因为电子设备的硬件只能同时运行有限的应用,而且有些应用如游戏应用和视频在开启的时候,在开启的时候非常耗资源(硬盘和内存),那么就更容易导致电子设备出现卡慢的情况。当电子设备出现卡慢的时候,必然导致目前已经开启的和将要开启的应用运行卡慢。
现有技术中,检测应用运行卡慢没有成熟的方法,目前主要通过检测电子设备的系统资源的占用情况。现有技术1,通过检测电子设备的系统资源的占用情况,并采用百分比来表示系统资源的占用情况,参见图1-1,在一种情况下,系统资源的占用情况为45%,电子设备的上传和下载速率都能够正常运行(参见图1-1的A图);在另一种情况下,系统资源的占用情况为88%,电子设备的上传和下载速率都比较慢(参见图1-1的B图)。现有技术2,也是通过检测电子设备的系统资源的占用情况,与现有技术1类似地,采用颜色条的多少来表示系统资源的占用情况,参见图1-2,在一种情况下,系统资源的占用情况大概是一半(参见图1-2的A图);在另一种情况下,系统资源的占用情况几乎快满格(参见图1-1的B图)。
现有技术的缺点在于,1)准确性不高,当系统CPU或者内存等资源占用过高时,软件并不一定会运行卡慢,例如参见图1-1的C图,系统资源的占用情况为90%,但是电子设备的上传和下载速率都能够正常运行。2)用户使用门槛高,现有技术中有些方案并不对用户进行提示,而需要用户主动地去优化。通过检测电子设备的系统资源的占用情况来提示用户需要进行系统优化,当需要提示用户进行优化时,将通过相关的产品表现引导用户进行优化;参见图1-3的A图,当系统运行卡慢的时候,会在电子设备的显示屏上弹出提示信息130,然后用户再进行点击进入优化产品(也可以是一个应用)从而进行系统优化;可见,现有技术中需要用户注意到产品相关的提示,并主动地进行优化。3)现有技术中并不主动提示用户关闭哪些软件以便进行系统优化。
发明内容
有鉴于此,本发明实施例为解决现有技术中存在的至少一个问题而提供一种检测软件运行卡慢的方法及装置、电子设备,能够提高检测应用运行卡慢的准确性,从而提升用户体验。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种检测软件运行卡慢的方法,所述方法包括:
确定正在运行在电子设备上的第一进程集合,所述第一进程集合至少包括一个第一进程;
确定所述第一进程集合中每一所述第一进程的响应时间;
根据每一所述第一进程的响应时间和对应的第一阈值从所述第一进程集合中确定第二进程集合,所述第二进程集合包括第二进程;
根据所述第二进程集合中的第二进程确定待优化的软件。
第二方面,本发明实施例提供一种检测软件运行卡慢的装置,所述装置包括第一确定单元、第二确定单元、第三确定单元和第四确定单元,其中:
所述第一确定单元,用于确定正在运行在电子设备上的第一进程集合,所述第一进程集合至少包括一个第一进程;
所述第二确定单元,用于确定所述第一进程集合中每一所述第一进程的响应时间;
所述第三确定单元,用于根据每一所述第一进程的响应时间和对应的第一阈值从所述第一进程集合中确定第二进程集合,所述第二进程集合包括第二进程;
所述第四确定单元,用于根据所述第二进程集合中的第二进程确定待优化的软件。
第三方面,本发明实施例提供一种电子设备,所述电子设备包括处理器和显示屏,其中:
所述处理器,用于:
确定正在运行在所述电子设备上的第一进程集合,所述第一进程集合至少包括一个第一进程,所述第一进程对应的软件运行时的显示界面显示在所述显示屏上;
确定所述第一进程集合中每一所述第一进程的响应时间;
根据每一所述第一进程的响应时间和对应的第一阈值从所述第一进程集合中确定第二进程集合,所述第二进程集合包括第二进程;
根据所述第二进程集合中的第二进程确定待优化的软件。
本发明实施例提供一种检测软件运行卡慢的方法及装置、电子设备,其中,先确定正在运行在电子设备上的第一进程集合,所述第一进程集合至少包括一个第一进程;然后确定所述第一进程集合中每一所述第一进程的响应时间;再根据每一所述第一进程的响应时间和对应的第一阈值从所述第一进程集合中确定第二进程集合,所述第二进程集合包括第二进程;最后根据所述第二进程集合中的第二进程确定待优化的软件;如此,能够提高检测应用运行卡慢的准确性,从而提升用户体验。
附图说明
图1-1为现有技术中检测软件运行卡慢的示意图一;
图1-2为现有技术中检测软件运行卡慢的示意图二;
图1-3为现有技术中优化界面的示意图;
图1-4为本发明实施例一检测软件运行卡慢的方法的实现流程示意图;
图2为本发明实施例三检测软件运行卡慢的方法的实现流程示意图;
图3为本发明实施例四检测软件运行卡慢的方法的实现流程示意图;
图4为本发明实施例四优化界面的示意图一;
图5为本发明实施例四优化界面的示意图二;
图6为本发明实施例四优化过程中和完成时的界面的示意图;
图7为本发明实施例六中线程的消息队列结构示意图;
图8为本发明实施例六中Windows操作系统从线程的队列中提取消息的实现流程示意图;
图9为本发明实施例六检测软件运行卡慢的方法的实现流程示意图;
图10为本发明实施例七检测软件运行卡慢的装置的组成结构示意图;
图11为本发明实施例八电子设备的组成结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。
实施例一
为了解决前述背景技术中存在的问题,本发明实施例提供一种检测软件运行卡慢的方法,该方法应用于电子设备,该方法所实现的功能可以通过电子设备中的处理器调用程序代码(例如优化软件)来实现,当然程序代码可以保存在计算机存储介质中,可见,该电子设备至少包括处理器和存储介质。
图1-4为本发明实施例一检测软件运行卡慢的方法的实现流程示意图,如图1-4所示,该方法包括:
步骤S101,确定正在运行在电子设备上的第一进程集合,所述第一进程集合至少包括一个第一进程;
这里,所述电子设备包括固定电子设备和移动电子设备,其中,固定电子设备可以包括个人电脑(PC)、台式机电脑、集群服务器、电视机等设备,移动电子设备可以包括手机、个人数字助理(PDA)、平板电脑等设备。
这里,电子设备上安装的每一个软件在运行的过程中体现为一个接一个的进程(Process)。举例来说,在第一时刻t1,假设电子设备上运行有5个软件(A1、A2、A3、A4和A5),那么电子设备当前能够确定有5个进程(PA1t1、PA2t1、PA3t1、PA4t1和PA5t1),这5个进程分别对应于5个软件,例如进程PA1t1为软件A1在t1时刻活动的进程,进程PA3t1为软件序A3在t1时刻活动的进程;在第二时刻t2,假设电子设备上关闭了软件A5,电子设备上运行有4个软件(A1、A2、A3和A4),那么电子设备当前能够确定有4个进程(PA1t2、PA2t2、PA3t2和PA4t2),这4个进程分别对应于4个软件(A1、A2、A3和A4),例如进程PA1t2为软件A1在t2时刻活动的进程,进程PA3t2为软件A3在t2时刻活动的进程。对于一个软件来说,当前时刻运行的进程可能与上一时刻运行的进程相同,也可能不同,当两个不同时刻对应的进程不同时,那么后面时刻的进程必然是接续前一时刻的进程,换句话说,对应同一个软件而言,在一个固定的时刻,只有一个进程与其对应。例如对应软件A1,进程PA1t2与进程PA2t1可能相同也可能不同,但是当进程PA1t2与进程PA2t1不同时,进程PA1t2和进程PA2t1不能同时共存。
一般而言,电子设备上的程序管理器可以确定当前电子设备的进程,对于不同的操作系统,程序管理器可能叫做不同的名称,但是本质上都是对软件进程管理,其中所述管理包括确定当前运行的进程;例如,对于windows操作系统而言,程序管理器通常叫做任务管理器。本实施例中的步骤S101,可以是程序管理器确定第一进程集合,也可以是从程序管理器去获取第一进程集合,从而确定出第一进程集合。
步骤S102,确定所述第一进程集合中每一所述第一进程的响应时间;
这里,所述响应时间是指对进程对事件的响应所花费的时间,其中事件可以是消息事件。一般来说,固定电子设备如PC机安装的操作系统一般包括微软公司的Windows操作系统、苹果公司的iOS操作系统等,对于移动电子设备如手机安装的操作系统一般包括安卓操作系统和苹果公司的iOS操作系统等,当软件运行时,都是基于电子设备的操作系统来实现。例如PC机上安装的软件程序就是基本PC机上的操作系统来实现运行的,因此,对于操作系统而言,软件属于上层,而操作系统属于下层,本步骤S102可以通过调用下层的操作系统的相关模块或函数来确定上层软件的响应时间。
步骤S103,根据每一所述第一进程的响应时间和对应的第一阈值从所述第一进程集合中确定第二进程集合,所述第二进程集合包括第二进程;
这里,所述第二进程集合中可以包括至少一个第二进程,当然也可以不包括一个第二进程,即第二进程集合为空。
这里,所述第二进程集合显然是所述第一进程集合的子集,继续承接步骤S101中的例子,假设第一进程集合包括5个进程PA1t1、PA2t1、PA3t1、PA4t1和PA5t1,而第二进程集合包括的进程为上述5个进程中的至少任意之一,或者没有。
步骤S104,根据所述第二进程集合中的第二进程确定待优化的软件。
这里,步骤S104,根据所述第二进程集合中的第二进程确定待优化的软件,可以采用各种现有技术来实现,除此之外,本发明实施例再提供一种实现方法,具体地,先设置一个关联信息,所述关联信息用于表明第二进程与待优化的软件之间的对应关系,获取所述第二进程的标识信息,根据所述第二进程的标识信息查询关联信息,得到待优化的软件的标识信息,所述标识信息可以是进程的名称或编号等信息,其中,所述关联信息在具体实施的过程中可以采用映射表或者配置表或配置文件来实现。
本发明实施例中,步骤S103,所述根据每一所述第一进程的响应时间和对应的第一阈值从所述第一进程集合中确定第二进程集合,所述第二进程集合包括第二进程包括:
步骤S1031,针对每一所述第一进程,判断每一所述第一进程的响应时间是否大于等于对应的第一阈值;
步骤S1032,将所述响应时间大于等于对应的所述第一阈值的第一进程作为所述第二进程。
这里,继续承接上述步骤S101中例子,假设第一进程集合包括5个进程PA1t1、PA2t1、PA3t1、PA4t1和PA5t1,其中进程的响应时间大于对应的第一阈值的进程包括进程PA1t1和PA2t1,那么第二进程集合即包括进程PA1t1和PA2t1。
本发明实施例中的第一进程集合、第二进程集合以及第一进程、第二进程等中的第一、第二等仅用于表示区别,并不表示顺序的含义。
本发明实施例中,所述软件包括安装在固定电子设备如PC机上的软件程序,也包括安装在移动电子设备如手机上的应用;移动电子设备运行的应用可以是移动电子设备系统中自带的应用,例如,时钟应用、相机应用、通讯录应用等,也可以是由用户安装的第三方应用,例如,微信应用、游戏应用、浏览器应用、即时聊天应用、邮件应用、管理应用等。换句话说,在本实施例的软件包括软件程序和应用程序。
本发明实施例中涉及软件和进程两个概念,一般来说,进程就是一个软件在处理器上的一次执行过程,它是一个动态的概念,进一步划分进程,进程又可以被分为多个线程,即进程包含多个线程在运行。具体来说,进程是一个具有独立功能的程序关于某个数据集合的一次运行活动,它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。它不只是程序的代码,还包括当前的活动,通过程序计数器的值和处理寄存器的内容来表示。进程是一个“执行中的程序”,程序是一个没有生命的实体,只有处理器赋予程序生命时,它才能成为一个活动的实体,称其为进程。通常在一个进程中可以包含若干个线程,它们可以利用进程所拥有的资源。
本发明实施例中提出一种检测软件运行卡慢的方法,该方法利用进程的响应时间来判断该进程对应的软件是否卡慢,而现有技术中是利用系统资源的占用情况来判断软件是否卡慢,现有技术实际上是判断电子设备运行是否卡慢而不是软件运行是否卡慢,而且现有技术提供的方法有时候电子设备的系统资源占用很高,但是软件依然运行很流畅而不是卡慢,可见现有技术的检测方法不够准确,而本发明实施例提供一种不同于现有技术的新方法,能够提高检测应用运行卡慢的准确性,从而提升用户体验。
本发明实施例中提供的检测软件运行卡慢的方法,在具体实现的过程中,对于固定电子设备而言,该方法可以采用软件程序的形式来体现,对于移动电子设备而言,该方法可以采用应用程序的形式来体现。
本发明实施例中,先确定正在运行在电子设备上的第一进程集合,所述第一进程集合至少包括一个第一进程;然后确定所述第一进程集合中每一所述第一进程的响应时间;再根据每一所述第一进程的响应时间和对应的第一阈值从所述第一进程集合中确定第二进程集合,所述第二进程集合包括第二进程;最后根据所述第二进程集合中的第二进程确定待优化的软件;如此,能够提高检测应用运行卡慢的准确性,从而提升用户体验。
实施例二
基于实施例一,本发明实施例提供一种检测软件运行卡慢的方法,该方法应用于电子设备,该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该电子设备至少包括处理器和存储介质。软件在运行的过程中,有些进程都对应有一个窗口,因此,在具体实施的过程中,所述第一进程的响应时间可以是每一个窗口的响应时间,本实施例中将基于窗口的响应时间来确定进程的响应时间。
该方法包括:
步骤S201,根据预设的第一条件确定第一窗口集合,所述第一窗口集合中的每一窗口对应的进程正在运行在所述电子设备上;
这里,所述根据预设的第一条件确定第一窗口集合,包括:根据预设的第一条件从正在运行的进程对应的窗口中确定第一窗口集合。
这里,所述第一条件用于从正在运行在所述电子设备上的进程确定出第一窗口集合,所述第一条件可以是用户设置的条件或者默认设置的条件,第一条件可以对于一些软件有例外的情况,例如设置某些软件不被优化;或者设置某些软件是属于被优化的范围。在实现的过程中,第一条件可以采用黑白名单来实现,也可以采用参数来设置,例如可以是针对可视窗口的参数;以Windows操作系统为例进行说明,进程在运行的时候有对应一个窗口,但是窗口可以分为可视窗口和不可视窗口,那么第一条件可以是针对可视窗口的,因为不可视窗口对于用户而言是无感觉的。
步骤S202,将所述第一窗口集合中的每一窗口对应的进程确定为所述第一进程集合;
这里,步骤S201和步骤S202实际上提供了一种实现实施例一中步骤S101“确定正在运行在电子设备上的第一进程集合”的具体实现方式。
步骤S203,将所述第一窗口集合中每一窗口的响应时间对应地确定为每一所述第一进程的响应时间;
这里,步骤S203实际上提供了一种实现实施例一中步骤S102“确定所述第一进程集合中每一所述第一进程的响应时间”的具体实现方式。
步骤S204,根据每一所述第一进程的响应时间和对应的第一阈值从所述第一进程集合中确定第二进程集合,所述第二进程集合包括第二进程;
这里,所述根据每一所述第一进程的响应时间和对应的第一阈值从所述第一进程集合中确定第二进程集合,包括:
步骤S2041,针对每一所述第一进程,判断每一所述第一进程的响应时间是否大于等于对应的所述第一阈值;
步骤S2042,将所述响应时间大于等于对应的所述第一阈值的第一进程作为所述第二进程。
步骤S205,根据所述第二进程集合中的第二进程确定待优化的软件。
在本发明的其他实施例中,步骤S203,所述确定所述第一窗口集合中每一窗口的响应时间,包括:通过发送应答消息和接收响应消息确定所述第一窗口集合中每一窗口的响应时间。其中以windows为例,应答消息可以采用WM_NULL来实现。
这里,步骤S205,根据所述第二进程集合中的第二进程确定待优化的软件,可以采用各种现有技术来实现,除此之外,本发明实施例再提供一种实现方法,具体地,先设置一个关联信息,所述关联信息用于表明第二进程与待优化的软件之间的对应关系,获取所述第二进程的标识信息,根据所述第二进程的标识信息查询关联信息,得到待优化的软件的标识信息,所述标识信息可以是进程的名称或编号等信息,其中,所述关联信息在具体实施的过程中可以采用映射表或者配置表或配置文件来实现。
本发明实施例提供一种通过检测进程对应的窗口的响应时间来确定进程的响应时间,从而来确定正在运行的软件是否出现卡慢的情况。对于操作系统而言,检测窗口的响应时间有现成的函数,因此,只需要调用操作系统的函数即可完成窗口响应时间的确定,因此,本发明实施例提供的方法具有易于实现的优点。
实施例三
基于前述的实施例,本发明实施例提供一种检测软件运行卡慢的方法,该方法应用于电子设备,该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该电子设备至少包括处理器和存储介质。本实施例中将基于窗口的响应时间来确定进程的响应时间。
本发明实施例中提供的检测软件运行卡慢的方法,将以优化软件的形式来体现,图2为本发明实施例三检测软件运行卡慢的方法的实现流程示意图,图2示出了本发明实施例中优化软件、应答消息发送函数以及窗口之间的联系示意图,从图2可以看出,应答消息发送函数为操作系统的一部分,窗口是运行在电子设备上的不同的应用程序的当前进程所对应的界面,操作系统中的应答消息发送函数可以向不同的窗口(1至N)发送应答消息,然后接收响应消息,根据应答消息与响应消息之间的时间差确定窗口的响应时间。如图2所示,该方法包括:
步骤S301,优化软件根据预设的第一条件确定第一窗口集合,所述第一窗口集合中的每一窗口对应的进程正在运行在所述电子设备上;
步骤S302,优化软件将所述第一窗口集合中的每一窗口对应的进程确定为所述第一进程集合;
步骤S303,优化软件调用应答消息发送函数向所述第一窗口集合的每一窗口发送应答消息,记录发送所述应答消息的第一时间戳;
这里,所述应答消息发送函数是所述电子设备上安装的操作系统中的一个模块,用于向电子设备上运行的进程对应的窗口发送应答消息。以Windows操作系统为例进行说明,所述应答消息发送函数可以是SendMessageTimeout函数。
步骤S304,优化软件接收述第一窗口集合的每一窗口发送的响应消息,记录接收所述响应消息的第二时间戳;
步骤S305,优化软件根据第一时间戳和所述第二时间戳对应地确定为每一所述第一进程的响应时间。
这里,步骤S303至步骤S305实际上提供了一种实现实施例一中步骤S102“将所述第一窗口集合中每一窗口的响应时间对应地确定为每一所述第一进程的响应时间”的具体实现方式。
步骤S306,优化软件根据每一所述第一进程的响应时间和对应的第一阈值从所述第一进程集合中确定第二进程集合,所述第二进程集合包括第二进程;
步骤S307,优化软件根据所述第二进程集合中的第二进程确定待优化的软件。
实施例四
基于前述的实施例,本发明实施例提供一种检测软件运行卡慢的方法,该方法应用于电子设备,该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该电子设备至少包括处理器和存储介质。
图3为本发明实施例四检测软件运行卡慢的方法的实现流程示意图,如图3所示,该方法包括:
步骤S101,确定正在运行在电子设备上的第一进程集合,所述第一进程集合至少包括一个第一进程;
步骤S102,确定所述第一进程集合中每一所述第一进程的响应时间;
这里,所述响应时间是指对进程对事件的响应所花费的时间,其中事件可以是消息。
本发明实施例中,对于软件而运行的时候有些进程都对应有一个窗口,因此,在具体实施的过程中,所述第一进程的响应时间可以是每一个窗口的响应时间。
步骤S103,根据每一所述第一进程的响应时间和对应的第一阈值从所述第一进程集合中确定第二进程集合,所述第二进程集合包括第二进程;
这里,所述第二进程集合中可以包括至少一个第二进程,当然也可以不包括一个第二进程,即第二进程集合为空。
步骤S104,根据所述第二进程集合中的第二进程确定待优化的软件;
步骤S401,获取正在运行的软件的第一信息,所述正在运行的软件包括所述待优化的软件,所述第一信息至少包括第二信息;
这里,所述第二信息作为第一信息的主要参数,用于表明所述待优化的软件当前的响应时间超出对应的第一阈值的相对数值或绝对数值;其中,所述绝对数值可以是第一时间,所述第一时间是指所述待优化的软件当前的响应时间超出对应的第一阈值的时间,例如,假设所述待优化的软件当前的响应时间是500毫秒(ms),而对应的第一阈值为400ms,则绝对数值是指100ms。所述相对数值可以是绝对数值与第一阈值的比例或百分比,假设所述待优化的软件当前的响应时间是500毫秒(ms),而对应的第一阈值为400ms,则绝对数值是指100ms,那么相对数值是100ms与第一阈值的比值0.25或者25%。
步骤S402,按照所述第二信息从大到小对所述待优化的软件进行排序,得到排序结果;
步骤S403,根据所述排序结果生成优化界面,所述优化界面用于显示待优化的软件;
步骤S404,显示所述优化界面。
这里,参见图4所示,假设应用401的软件名称为迅迅,该软件401的响应时间超过410毫秒(即响应时间超过对应的第一阈值的时间为410ms,其余的相同),假设应用402的软件名称为WP,该软件402的响应时间超过400毫秒;假设应用403的软件名称为QQ音乐,该软件403的响应时间超过310毫秒;假设应用404的软件名称为笔记,该软件404的响应时间超过300毫秒;假设应用405的软件名称为暴风,该软件405的响应时间超过100毫秒。
本实施例提供的技术方案与现有技术相比,当系统运行卡慢的时候,会在电子设备的显示屏上弹出是提示信息而不是优化界面,当弹出的是提示信息时,现有技术还需要用户再进行点击进入优化产品(也可以是一个应用)从而进行系统优化。而本实施例中,当有需要优化的软件时,主动弹出优化界面,从而提高优化功能的使用率。
本发明实施例中,所述第一信息还包括第三信息,所述第三信息用于表明所述待优化的软件的资源占用信息;所述第一信息还包括标签信息,所述标签信息用于表明所述软件是否因为软件卡慢而被关闭的结论。
这里,资源占用信息作为第一信息的一个辅助参数,用于对熟悉资源占用信息的用户提供一个辅助指示,在具体实现的过程中,所述资源占用信息可以采用百分比这类的相对数值来表示,当然还可以采用绝对数值如吉字节(GB)或兆字节(MB)等来表示。参见图5所示,图5所示的软件与图4所示的软件相同,在图4中全部使用响应时间来表示,在图5中,对于部分软件的来说,它的响应时间虽然超出第一阈值时间比较少,但是占用的系统资源比较多,因此,在优化界面还可以显示资源占用信息,例如对于软件403来说,其资源占用信息为500M,对于软件404来说,其资源占用信息为644M;除了资源占用信息之外,所述第一信息还可以包括软件未使用的时间,例如图5中暴风405的未使用时间为3小时45分钟。
这里,与现有技术相比,现有技术中并未给出结论,而是需要用户自己确定哪些软件需要关闭(参见图1-3的B所示),现有技术中的优化界面列出的都是资源占用信息,直接给出一些数据,然后用户通过勾选对应的软件,最后点击一键加速,最终实现完成优化。而本发明实施例提供的技术方案直接给出的是标签,该标签用于是否需要直接关闭该软件。在具体实现的过程中,所述标签信息可以采用如图5所示的“卡系统”501或“高占用”502来表示,在图5中,电子设备发现当前使用的Word较卡慢,然后就执行了图3所示的流程,最终在优化界面上软件401和402可以因为卡系统而被关闭,而软件403和404可以因为高占用而被关闭。当用户通过勾选对应的软件401至405,最后点击“立即加速”503,那么电子设备将开始优化,优化的过程参见图6中的A图所示,最终优化完成的界面参见图6的B图所示。从图5可以看出,本发明实施例提供的技术方案,能够通过软件标签主动提示用户关闭哪些软件进行系统优化,从而降低用户使用的复杂度。
实施例五
基于前述的实施例,本发明实施例提供一种检测软件运行卡慢的方法,该方法应用于电子设备,该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该电子设备至少包括处理器和存储介质。
该方法包括:
步骤S501,确定所述电子设备的系统占用信息;
步骤S502,判断所述系统占用信息是否大于等于预设的第二阈值,是时,进入步骤S101,反之,进入步骤S501;
这里,如果所述系统占用信息大于等于所述第二阈值,根据预设的第一条件确定正在运行在电子设备上的第一进程集合;如果所述系统占用信息小于所述第二阈值,继续确定所述电子设备的系统占用信息。
步骤S101,确定正在运行在电子设备上的第一进程集合,所述第一进程集合至少包括一个第一进程;
步骤S102,确定所述第一进程集合中每一所述第一进程的响应时间;
这里,所述响应时间是指对进程对事件的响应所花费的时间,其中事件可以是消息。
本发明实施例中,对于软件而运行的时候有些进程都对应有一个窗口,因此,在具体实施的过程中,所述第一进程的响应时间可以是每一个窗口的响应时间。
步骤S103,根据每一所述第一进程的响应时间和对应的第一阈值从所述第一进程集合中确定第二进程集合,所述第二进程集合包括第二进程;
这里,所述第二进程集合中可以包括至少一个第二进程,当然也可以不包括一个第二进程,即第二进程集合为空。
步骤S104,根据所述第二进程集合中的第二进程确定待优化的软件。
本发明实施例中的步骤S501至步骤S502实际上提供一种触发电子设备检测软件卡慢的方式。在本发明的其他实施例中,还可以采用周期性检测的方式,例如每隔10分钟或者5分钟就执行步骤S101至步骤S104。
本发明实施例中的步骤S101至步骤S104分别对应于实施例一中的步骤S101至步骤S104,因此,本领域的技术人员可以参阅实施例一而理解上述的步骤S101至步骤S104。
实施例六
基于前述的实施例,本发明实施例提供一种检测软件运行卡慢的方法,先来介绍一下本发明实施例的基本原理,本发明实施例的基本原理包括:软件卡慢可以看作是用户使用软件的一种主观体验,软件卡慢主要取决于软件响应用户操作的时间。当用户在一个窗口上进行某项操作,如果响应时间超过某一个阀值(假设为400ms)时,用户就会感觉到明显的卡顿或卡慢。
下面以Windows操作系统为例进行说明,需要说明的是,本发明实施例所提供的思想可以应用于对于其他的电子设备的操作系统如安卓系统,因此不再赘述。为了更好地进行说明,先简要介绍一下Windows操作系统的窗口消息工作原理:对于Windows操作系统的窗口而言,窗口只属于创建它的线程,线程拥有自己的消息循环,每个窗口对于的线程都有自己的消息队列,其中,线程的消息队列结构如图7所示,该结构包括:对于线程名称(TRREADINFO)的消息队列包括:登记消息队列指针、虚拟输入队列指针、发送消息队列指针、应答消息队列指针、退出状态码(nExitCode)、唤醒标志和局部输入状态变量,其中登记消息队列指针又包括登记的消息(message,MSG),虚拟输入队列指针又包括输入的MSG,发送消息队列指针又包括发送的MSG,应答消息队列指针又包括应答的MSG。其中,在上述的消息队列中,本发明实施例中的主要涉及应答消息。
图8为本发明实施例六Windows操作系统从线程的队列中提取消息的实现流程示意图,如图8所示,该流程包括:
步骤S1,获取消息;
这里,获取消息可以采用GetMessage(...)命令;
步骤S2,判断是否满足QS_SENDMESSAGE设定;如果否,则进入步骤S3;如果是,则进行下面的步骤:1)发送消息;2)如果不再有发送的信息,关闭QS_SENDMESSAGE;3)GetMessage不返回。
步骤S3,判断是否满足QS_POSTMESSAGE设定;如果否,则进入步骤S4;如果是,则进行下面的步骤:1)填充传递到GetMessage的MSG结构;2)如果不再有登记的信息,关闭QS_POSTMESSAGE;3)GetMessage返回TRUE。
步骤S4,判断是否满足QS_SQUIT设定;如果否,则进入步骤S5;如果是,则进行下面的步骤:1)填充传递到GetMessage的MSG结构;2)关闭QS_QUIT;3)GetMessage返回FALSE。
步骤S5,判断是否满足QS_INPUT设定;如果否,则进入步骤S6;如果是,则进行下面的步骤:1)填充传递到GetMessage的MSG结构;2)如果队列中再没有键盘消息,关闭QS_KEY;如果队列中再没有鼠标按钮消息,关闭QS_MOUSEBUTTON;如果队列中不再有鼠标移动消息,关闭QS_MOUSEMOVE;3)GetMessage返回TRUE。
步骤S6,判断是否满足QS_PAINT设定;如果否,则进入步骤S7;如果是,则进行下面的步骤:1)填充传递到GetMessage的MSG结构;2)GetMessage返回TRUE(如果窗口过程确认窗口,则关闭QS_PAINT)。
步骤S7,判断是否满足QS_TIMER设定;如果否,则进入步骤S1;如果是,则进行下面的步骤:1)填充传递到GetMessage的MSG结构;2)复位定时器;3)如果没有定时器报时,关闭QS_TIMER;4)GetMessage返回TRUE。
在图8中上述缩写的含义是:
GetMessage(…):Windows API,获取消息;
QS_SENDMESS AGE:消息队列有同步消息;
QS_QUIT:消息队列有退出消息;
QS_INPUT:消息队列有输入消息;
QS_PAINT:消息队列有绘制消息;
QS_TIMER:消息队列有定时器消息;
QS_KEY:消息队列有键盘消息;
QS_MOUSEBUTTON:消息队列有鼠标按键消息;
QS_MOUSEMOVE:消息队列有鼠标移动消息。
从以上可以看出,Windows操作系统从线程的队列中提取消息或者说Windows系统处理Windnows消息的优先级的顺序如下:发送(SEND)消息>投递(POST)消息>放弃或退出(QUIT)消息>键盘和鼠标输入消息>绘制(WM_PAINT)消息>定时器(WM_TIMER)消息。如果Windows操作系统正在处理一个低优先级的消息,这时一个高优先级的消息到来,Windows不会中断当前消息的处理,直到该消息处理完成之后才会处理高优先级消息。本发明利用了这个机制,通过发送WM_NULL消息(Send WM_NULL消息)来测试窗口对消息的响应处理速度。
基于上述的描述,本发明实施例先提供一种检测软件运行卡慢的方法,如图9所示,该优化软件600包括应用加速模块601和窗口检测模块602,其中:应用加速模块属于与用户交互的模块,而窗口检测模块属于与底层的操作系统进行交互的模块。基于上述的优化软件,本发明实施例提供的一种检测软件运行卡慢的方法包括:
步骤S600,应用加速模块定时(例如每小时一次)调用窗口检测模块的窗口检测函数(SendMessageTimeout)启动窗口检测;
步骤S601,窗口检测模块首先枚举系统的所有可视窗口;
这里,所述Windows窗口包括可视窗口和不可视窗口,所述方法还包括:设置窗口检测超时时间;
步骤S602,窗口检测模块调用SendMessageTimeout函数逐个给窗口发送应答(WM_NULL)消息,
步骤S603,窗口检测模块记录下窗口的响应时间以及对应的进程。
步骤S604,检测完成之后,窗口检测模块通过通知消息通知上层的应用加速模块。
这里,所述通知消息用于表明窗口检测流程已经完成。
步骤S605,应用加速模块响应所述通知消息,从窗口检测模块主动获取窗口卡慢的进程列表;
步骤S606,应用加速模块把卡慢进程映射成待优化的软件;
步骤S607,应用加速模块根据一定的产品策略给待优化的软件上打上相关标签(第一信息);
步骤S608,应用加速模块主动弹出优化界面。
从以上流程可以看出,本发明实施例提供的技术方案包括:1)建立衡量软件卡慢标准,即采用响应时间来衡量软件是否卡慢,而非系统的资源占用情况,从而提高软件卡慢检测准确性;2)通过主动弹出优化界面,从而提高优化软件的使用率;3)通过软件标签主动提示用户关闭那些软件进行系统优化,从而降低用户使用的复杂度。
实施例七
基于前述的实施例,本发明实施例提供一种检测软件运行卡慢的装置,该装置所包括的各单元,以及各单元所包括的各模块,都可以通过电子设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在具体实施例的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。在具体实现的过程中,所述装置可以采用软件的形式来体现。图10为本发明实施例七检测软件运行卡慢的装置的组成结构示意图,如图10所示,该装置700包括第一确定单元701、第二确定单元702、第三确定单元703和第四确定单元704,其中:
所述第一确定单元701,用于确定正在运行在电子设备上的第一进程集合,所述第一进程集合至少包括一个第一进程;
所述第二确定单元702,用于确定所述第一进程集合中每一所述第一进程的响应时间;
所述第三确定单元703,用于根据每一所述第一进程的响应时间和对应的第一阈值从所述第一进程集合中确定第二进程集合,所述第二进程集合包括第二进程;
所述第四确定单元704,用于根据所述第二进程集合中的第二进程确定待优化的软件。
在本发明的其他实施例中,所述第一确定单元包括第一确定模块和第二确定模块,其中:
所述第一确定模块,用于根据预设的第一条件确定第一窗口集合,所述第一窗口集合中的每一窗口对应的进程正在运行在所述电子设备上;
所述第二确定模块,用于将所述第一窗口集合中的每一窗口对应的进程确定为所述第一进程集合;
所述第二确定单元,用于将所述第一窗口集合中每一窗口的响应时间对应地确定为每一所述第一进程的响应时间。
在本发明的其他实施例中,所述第二确定单元,用于通过发送应答消息和接收响应消息确定所述第一窗口集合中每一窗口的响应时间。
在本发明的其他实施例中,所述第二确定单元包括发送模块、接收模块和第三确定模块,其中:
所述发送模块,用于调用应答消息发送函数向所述第一窗口集合的每一窗口发送应答消息,记录发送所述应答消息的第一时间戳;
所述接收模块,用于接收述第一窗口集合的每一窗口发送的响应消息,记录接收所述响应消息的第二时间戳;
所述第三确定模块,用于根据第一时间戳和所述第二时间戳确定所述响应时间。
在本发明的其他实施例中,所述装置还包括获取单元、排序单元、生成单元和显示单元,其中:
所述获取单元,用于获取正在运行的软件的第一信息,所述正在运行的软件包括所述待优化的软件,所述第一信息至少包括第二信息,所述第二信息用于表明所述待优化的软件当前的响应时间超出对应的第一阈值的相对数值或绝对数值;
所述排序单元,用于按照所述第二信息从大到小对所述待优化的软件进行排序,得到排序结果;
所述排序单元,用于根据所述排序结果生成优化界面,所述优化界面用于显示待优化的软件;
所述显示单元,用于显示所述优化界面。
在本发明的其他实施例中,所述第一信息还包括第三信息,所述第三信息用于表明所述待优化的软件的资源占用信息;所述第一信息还包括标签信息,所述标签信息用于表明所述软件是否因为软件卡慢而被关闭的结论。
在本发明的其他实施例中,所述第三确定单元包括判断模块和第四确定模块,其中:
所述判断模块,用于针对每一所述第一进程,判断每一所述第一进程的响应时间是否大于等于对应的所述第一阈值;
所述第四确定模块,用于将所述响应时间大于等于对应的所述第一阈值的第一进程确定为所述第二进程。
在本发明的其他实施例中,所述装置还包括第五确定单元、判断单元和第六确定单元,其中:
所述第五确定单元,用于确定所述电子设备的系统占用信息;
所述判断单元,用于判断所述系统占用信息是否大于等于预设的第二阈值;如果所述系统占用信息小于所述第二阈值,继续触发所述第五确定单元;如果所述系统占用信息大于等于所述第二阈值,触发所述第一确定单元。
这里需要指出的是:以上装置实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果,因此不做赘述。对于本发明装置实施例中未披露的技术细节,本领域的技术人员请参照本发明方法实施例的描述而理解,为节约篇幅,这里不再赘述。
实施例八
基于前述的实施例,本发明实施例提供一种电子设备,图11示为本发明实施例八电子设备1100的组成结构示意图,如图11所示,该电子设备1100包括处理器1101和显示屏1102,其中:
所述处理器1101,用于:
确定正在运行在所述电子设备上的第一进程集合,所述第一进程集合至少包括一个第一进程,所述第一进程对应的软件运行时的显示界面显示在所述显示屏1102上;
确定所述第一进程集合中每一所述第一进程的响应时间;
根据每一所述第一进程的响应时间和对应的第一阈值从所述第一进程集合中确定第二进程集合,所述第二进程集合包括第二进程;
根据所述第二进程集合中的第二进程确定待优化的软件。
在本发明的其他实施例中,所述确定正在运行在电子设备上的第一进程集合,包括:
根据预设的第一条件确定第一窗口集合,所述第一窗口集合中的每一窗口对应的进程正在运行在所述电子设备上;
将所述第一窗口集合中的每一窗口对应的进程确定为所述第一进程集合;
所述确定所述第一进程集合中每一所述第一进程的响应时间,包括:将所述第一窗口集合中每一窗口的响应时间对应地确定为每一所述第一进程的响应时间。
在本发明的其他实施例中,所述确定所述第一窗口集合中每一窗口的响应时间,包括:
通过发送应答消息和接收响应消息确定所述第一窗口集合中每一窗口的响应时间。
在本发明的其他实施例中,所述通过发送应答消息和接收响应消息确定所述第一窗口集合中每一窗口的响应时间,包括:
调用应答消息发送函数向所述第一窗口集合的每一窗口发送应答消息,记录发送所述应答消息的第一时间戳;
接收述第一窗口集合的每一窗口发送的响应消息,记录接收所述响应消息的第二时间戳;
根据第一时间戳和所述第二时间戳确定所述响应时间。
当电子设备1100为移动电子设备时,可选地,所述电子设备1100还可以包括内置的天线,用于接收广播信号并通过电子设备1100的扬声器1108输出为声音。当然还可以包括蜂窝模块1103、无线保真(WiFi)模块1104、蓝牙模块1105和定位模块1106、麦克风1107、扬声器1108和存储器1109,其中:
蜂窝模块1103以接入基站的建立链路的方式承载电子设备1100的移动通信,例如语音(视频)通信和数据通信,通信制式可以采用码分多址(CDMA)、宽带码分多址(WCDMA)、时分-同步码分多址(TD-SCDMA)以及演进制式。
无线保真(WiFi)模块1104支持电子设备1100接入无线互联网。
蓝牙模块1105用于支持电子设备1100的近距离通信,可以替换地,电子设备1100的近距离通信还可以使用基于红外、紫蜂等技术的模块实现。
定位模块1106可以实施为基于美国的全球卫星定位系统(GPS)的定位模块1106,通过接收GPS信号来定位电子设备1100而输出电子设备1100的位置信息、速度信息等;可以替换地,定位模块1106可以实施为基于其他的卫星定位系统的模块,如基于中国北斗卫星定位系统的定位模块1106、基于俄罗斯的格洛纳斯(GLONASS)全球定位系统的定位模块1106,以及基于欧洲的伽利略(Galileo)全球定位系统的定位模块1106。
麦克风1107可以在电子设备1100经由蜂窝模块1103提供语音电话功能,并通过与基站之间的链路传输,以及,在电子设备1100工作于声控模式时采集用户的语音并处理为音频数据,由处理器1101解析音频数据并执行相应的指令以触发电子设备1100中的功能。
显示屏1102可以显示处理器1101实现的功能以及相关的信息。例如,显示在电子设备1100中内置功能的功能列表界面。
存储器1109用于存储由处理器1101可执行的指令和应用,还可以缓存待处理器1101以及电子设备1100中各模块待处理或已经处理的数据(例如,音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器1109(RAM)实现。
显示屏1102可以实施为触摸屏,输出表征触摸屏的操作特征(包括触点位置、触点数量、触发压力)的用户操作数据,处理器1101解析用户操作数据确定用户在功能列表界面中触发的功能,生成对应触发的功能的显示数据供显示屏1102加载触发功能的界面。
这里需要指出的是:以上电子设备实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果,因此不做赘述。对于本发明电子设备实施例中未披露的技术细节,本领域的技术人员请参照本发明方法实施例的描述而理解,为节约篇幅,这里不再赘述。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种检测软件运行卡慢的方法,其特征在于,所述方法包括:
确定正在运行在电子设备上的第一进程集合,所述第一进程集合至少包括一个第一进程;
确定所述第一进程集合中每一所述第一进程的响应时间;
根据每一所述第一进程的响应时间和对应的第一阈值从所述第一进程集合中确定第二进程集合,所述第二进程集合包括第二进程;
根据所述第二进程集合中的第二进程确定待优化的软件。
2.根据权利要求1所述的方法,其特征在于,所述确定正在运行在电子设备上的第一进程集合,包括:
根据预设的第一条件确定第一窗口集合,所述第一窗口集合中的每一窗口对应的进程正在运行在所述电子设备上;
将所述第一窗口集合中的每一窗口对应的进程确定为所述第一进程集合;
所述确定所述第一进程集合中每一所述第一进程的响应时间,包括:将所述第一窗口集合中每一窗口的响应时间对应地确定为每一所述第一进程的响应时间。
3.根据权利要求2所述的方法,其特征在于,所述确定所述第一窗口集合中每一窗口的响应时间,包括:
通过发送应答消息和接收响应消息确定所述第一窗口集合中每一窗口的响应时间。
4.根据权利要求3所述的方法,其特征在于,所述通过发送应答消息和接收响应消息确定所述第一窗口集合中每一窗口的响应时间,包括:
调用应答响应消息发送函数向所述第一窗口集合的每一窗口发送应答消息,记录发送所述应答消息的第一时间戳;
接收述第一窗口集合的每一窗口发送的响应消息,记录接收所述响应消息的第二时间戳;
根据第一时间戳和所述第二时间戳确定所述响应时间。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取正在运行的软件的第一信息,所述正在运行的软件包括所述待优化的软件,所述第一信息至少包括第二信息,所述第二信息用于表明所述待优化的软件当前的响应时间超出对应的第一阈值的相对数值或绝对数值;
按照所述第二信息从大到小对所述待优化的软件进行排序,得到排序结果;
根据所述排序结果生成优化界面,所述优化界面用于显示待优化的软件;
显示所述优化界面。
6.根据权利要求5所述的方法,其特征在于,所述第一信息还包括第三信息,所述第三信息用于表明所述待优化的软件的资源占用信息;
所述第一信息还包括标签信息,所述标签信息用于表明所述软件是否因为软件卡慢而被关闭的结论。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述根据每一所述第一进程的响应时间和对应的第一阈值从所述第一进程集合中确定第二进程集合,包括:
针对每一所述第一进程,判断每一所述第一进程的响应时间是否大于等于对应的所述第一阈值;
将所述响应时间大于等于对应的所述第一阈值的第一进程作为所述第二进程。
8.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
确定所述电子设备的系统占用信息;
判断所述系统占用信息是否大于等于预设的第二阈值;
如果所述系统占用信息大于等于所述第二阈值,根据预设的第一条件确定正在运行在电子设备上的第一进程集合;
如果所述系统占用信息小于所述第二阈值,继续确定所述电子设备的系统占用信息。
9.一种检测软件运行卡慢的装置,其特征在于,所述装置包括第一确定单元、第二确定单元、第三确定单元和第四确定单元,其中:
所述第一确定单元,用于确定正在运行在电子设备上的第一进程集合,所述第一进程集合至少包括一个第一进程;
所述第二确定单元,用于确定所述第一进程集合中每一所述第一进程的响应时间;
所述第三确定单元,用于根据每一所述第一进程的响应时间和对应的第一阈值从所述第一进程集合中确定第二进程集合,所述第二进程集合包括第二进程;
所述第四确定单元,用于根据所述第二进程集合中的第二进程确定待优化的软件。
10.根据权利要求9所述的装置,其特征在于,所述第一确定单元包括第一确定模块和第二确定模块,其中:
所述第一确定模块,用于根据预设的第一条件确定第一窗口集合,所述第一窗口集合中的每一窗口对应的进程正在运行在所述电子设备上;
所述第二确定模块,用于将所述第一窗口集合中的每一窗口对应的进程确定为所述第一进程集合;
所述第二确定单元,用于将所述第一窗口集合中每一窗口的响应时间对应地确定为每一所述第一进程的响应时间。
11.一种电子设备,其特征在于,所述电子设备包括处理器和显示屏,其中:
所述处理器,用于:
确定正在运行在所述电子设备上的第一进程集合,所述第一进程集合至少包括一个第一进程,所述第一进程对应的软件运行时的显示界面显示在所述显示屏上;
确定所述第一进程集合中每一所述第一进程的响应时间;
根据每一所述第一进程的响应时间和对应的第一阈值从所述第一进程集合中确定第二进程集合,所述第二进程集合包括第二进程;
根据所述第二进程集合中的第二进程确定待优化的软件。
12.根据权利要求11所述的电子设备,其特征在于,所述确定正在运行在电子设备上的第一进程集合,包括:
根据预设的第一条件确定第一窗口集合,所述第一窗口集合中的每一窗口对应的进程正在运行在所述电子设备上;
将所述第一窗口集合中的每一窗口对应的进程确定为所述第一进程集合;
所述确定所述第一进程集合中每一所述第一进程的响应时间,包括:将所述第一窗口集合中每一窗口的响应时间对应地确定为每一所述第一进程的响应时间。
CN201610309346.9A 2016-05-11 2016-05-11 一种检测软件运行卡慢的方法及装置、电子设备 Active CN106681827B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610309346.9A CN106681827B (zh) 2016-05-11 2016-05-11 一种检测软件运行卡慢的方法及装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610309346.9A CN106681827B (zh) 2016-05-11 2016-05-11 一种检测软件运行卡慢的方法及装置、电子设备

Publications (2)

Publication Number Publication Date
CN106681827A true CN106681827A (zh) 2017-05-17
CN106681827B CN106681827B (zh) 2021-04-06

Family

ID=58839139

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610309346.9A Active CN106681827B (zh) 2016-05-11 2016-05-11 一种检测软件运行卡慢的方法及装置、电子设备

Country Status (1)

Country Link
CN (1) CN106681827B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108984212A (zh) * 2017-05-31 2018-12-11 腾讯科技(深圳)有限公司 一种关闭进程的方法以及电子设备
CN109710403A (zh) * 2018-12-20 2019-05-03 深圳大学 应用进程映射方法、电子装置及计算机可读存储介质
WO2019165983A1 (zh) * 2018-02-28 2019-09-06 惠州Tcl移动通信有限公司 一种蓝牙传输控制方法、控制系统及存储介质
CN114327266A (zh) * 2021-12-24 2022-04-12 深信服科技股份有限公司 一种存储装置的卡慢识别方法、装置、介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040143658A1 (en) * 2003-01-17 2004-07-22 Chris Newton Method and apparatus for permitting visualizing network data
US7877482B1 (en) * 2008-04-01 2011-01-25 Google Inc. Efficient application hosting in a distributed application execution system
CN102063302A (zh) * 2010-12-20 2011-05-18 北京握奇数据系统有限公司 窗口管理方法、系统及终端
CN102073545A (zh) * 2011-02-28 2011-05-25 中国人民解放军国防科学技术大学 操作系统中防止用户界面卡屏的进程调度方法及装置
CN103197944A (zh) * 2013-04-11 2013-07-10 腾讯科技(深圳)有限公司 一种应用程序的进程的性能确定方法和计算机系统
CN103810099A (zh) * 2013-11-21 2014-05-21 北京奇虎科技有限公司 代码跟踪方法及其系统
CN104268055A (zh) * 2014-09-01 2015-01-07 腾讯科技(深圳)有限公司 一种程序异常的监控方法和装置
CN104461829A (zh) * 2014-12-15 2015-03-25 北京奇虎科技有限公司 基于窗口应用的计算设备优化方法及设备
CN104598241A (zh) * 2015-01-27 2015-05-06 中国石油集团东方地球物理勘探有限责任公司 一种窗口监控方法及系统
CN105302637A (zh) * 2015-10-13 2016-02-03 广东欧珀移动通信有限公司 系统进程运行异常引起卡顿的恢复方法、装置及移动终端

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040143658A1 (en) * 2003-01-17 2004-07-22 Chris Newton Method and apparatus for permitting visualizing network data
US7877482B1 (en) * 2008-04-01 2011-01-25 Google Inc. Efficient application hosting in a distributed application execution system
CN102063302A (zh) * 2010-12-20 2011-05-18 北京握奇数据系统有限公司 窗口管理方法、系统及终端
CN102073545A (zh) * 2011-02-28 2011-05-25 中国人民解放军国防科学技术大学 操作系统中防止用户界面卡屏的进程调度方法及装置
CN103197944A (zh) * 2013-04-11 2013-07-10 腾讯科技(深圳)有限公司 一种应用程序的进程的性能确定方法和计算机系统
CN103810099A (zh) * 2013-11-21 2014-05-21 北京奇虎科技有限公司 代码跟踪方法及其系统
CN104268055A (zh) * 2014-09-01 2015-01-07 腾讯科技(深圳)有限公司 一种程序异常的监控方法和装置
CN104461829A (zh) * 2014-12-15 2015-03-25 北京奇虎科技有限公司 基于窗口应用的计算设备优化方法及设备
CN104598241A (zh) * 2015-01-27 2015-05-06 中国石油集团东方地球物理勘探有限责任公司 一种窗口监控方法及系统
CN105302637A (zh) * 2015-10-13 2016-02-03 广东欧珀移动通信有限公司 系统进程运行异常引起卡顿的恢复方法、装置及移动终端

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108984212A (zh) * 2017-05-31 2018-12-11 腾讯科技(深圳)有限公司 一种关闭进程的方法以及电子设备
CN108984212B (zh) * 2017-05-31 2021-06-25 腾讯科技(深圳)有限公司 一种关闭进程的方法以及电子设备
WO2019165983A1 (zh) * 2018-02-28 2019-09-06 惠州Tcl移动通信有限公司 一种蓝牙传输控制方法、控制系统及存储介质
US11258844B2 (en) 2018-02-28 2022-02-22 Huizhou Tcl Mobile Communication Co., Ltd. Bluetooth transmission control method, control system, and storage medium
CN109710403A (zh) * 2018-12-20 2019-05-03 深圳大学 应用进程映射方法、电子装置及计算机可读存储介质
CN109710403B (zh) * 2018-12-20 2020-08-14 深圳大学 应用进程映射方法、电子装置及计算机可读存储介质
CN114327266A (zh) * 2021-12-24 2022-04-12 深信服科技股份有限公司 一种存储装置的卡慢识别方法、装置、介质
CN114327266B (zh) * 2021-12-24 2024-04-09 深信服科技股份有限公司 一种存储装置的卡慢识别方法、装置、介质

Also Published As

Publication number Publication date
CN106681827B (zh) 2021-04-06

Similar Documents

Publication Publication Date Title
US10805100B2 (en) Method and system for sorting chatroom list based on conversational activeness and contextual information
EP4250081A2 (en) Notification display method and terminal
CN110069306A (zh) 一种消息显示方法及终端设备
CN106681827A (zh) 一种检测软件运行卡慢的方法及装置、电子设备
CN107733984A (zh) 一种推送锁屏信息的方法、终端及计算机可读存储介质
CN107846511A (zh) 一种接入移动广告的方法、终端及计算机可读存储介质
CN107040593A (zh) 消息推送装置及方法
CN104932770A (zh) 用于显示基于行为的使用者界面的版面配置(build)的方法、系统及电子装置
CN108710466A (zh) 通知的优先级化管理和呈现
CN103282937A (zh) 用于在社交网络中共享内容的内容共享接口
CN102640101A (zh) 用于提供用户接口的方法及装置
CN102970657B (zh) 在社群网络中分享群组状态的系统及其方法
CN101018154A (zh) 使用gui图像显示通信日志的设备和方法
CN108920204A (zh) 一种界面显示方法及终端设备
US20180188900A1 (en) Dynamically generating custom sets of application settings
CN108121803A (zh) 一种确定页面布局的方法和服务器
CN111602107B (zh) 一种应用退出时的显示方法及终端
CN107896243A (zh) 网络数据加载的加速方法、装置、存储介质及移动终端
CN109358931A (zh) 一种界面显示方法及终端
CN111918386B (zh) 定位方法、装置、存储介质及电子设备
CN107948404A (zh) 一种处理消息的方法、终端设备及计算机可读存储介质
CN109951373A (zh) 一种文件发送方法及终端设备
CN107257358A (zh) 一种信息推送方法、终端及服务器
CN108595481A (zh) 一种通知消息显示方法及终端设备
CN108665318B (zh) 有效用户标签筛选方法、装置、存储介质和计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant