确定应用程序运行性能的方法、装置和移动终端制造方法及图纸

技术编号:15690761 阅读:57 留言:0更新日期:2017-06-24 03:24
本发明专利技术提供一种确定应用程序运行性能的方法和装置,监听指定应用程序的启动事件;在所述指定应用程序的运行过程中,获取应用界面的运行数据以确定应用的运行流畅度,获取指定进程对系统资源的占用时长以确定应用的资源占用度,获取应用活动组件生命周期函数的耗时以确定应用的运行耗时;根据所述运行流畅度、资源占用度或运行耗时中的至少一项确定所述指定应用程序的运行性能。由于只监听指定的应用程序,因而可以避免对所有的应用程序进行整体监听,减少了数据收集工作,提高了数据收集效率。而且,通过收集指定应用的运行流畅度、资源占用度和运行耗时等数据,可以有效提高判断应用运行性能的准确度。本发明专利技术还提供一种移动终端。

Method, device and mobile terminal for determining application operation performance

The present invention provides a method and a device for determining the application performance, start the event listener specifies the application; in the operation process of the specified application, the operation data acquisition application interface to determine the application run smoother, access to system resources occupied by the specified process time to determine the application of resources occupancy, obtaining the application activity component life cycle function to determine the application time time-consuming operation; according to the operation of fluency, time-consuming or resource occupation in the operation of at least one to determine the running performance of the specified application. By listening only to the specified application, you can avoid listening to all applications as a whole, reducing data collection and improving data collection efficiency. Moreover, the accuracy of the application performance can be effectively improved by collecting data such as running fluency, resource occupation, and running time of the specified application. The invention also provides a mobile terminal.

【技术实现步骤摘要】
确定应用程序运行性能的方法、装置和移动终端
本专利技术涉及移动终端安全
,具体而言,本专利技术涉及一种确定应用程序运行性能的方法、装置和移动终端。
技术介绍
随着智能移动终端(如智能手机和平板电脑)的普及和功能的增强,用户对于智能移动终端中安装的应用程序的运行性能要求越来越高,因此出现了一些监控软件,这些监控软件收集应用在运行时占用运存或者耗电量等数据,从而判断已安装应用的运行性能,而且在确定了运行性能后向用户做出相应的提示。有些优化软件还可以在收集这些数据的基础上对数据进行分析后进行优化,避免这些应用在运行过多的影响移动终端的性能。然而,传统的监控软件或优化软件通常是对所有的应用进行整体的数据收集,从而导致监控软件或优化软件也在运行时一定程度上影响到移动终端的性能,并且影响着收集效率;而且,传统的监控软件或优化软件监控的数据主要是运存和耗电量,无法准确的确定应用程序运行性能。因此,传统的监控软件或优化软件在判断应用程序运行性能上存在着效率不高和准确性不高的缺陷。
技术实现思路
本专利技术的目的旨在至少能解决上述的技术缺陷之一,特别是效率不高的技术缺陷。本专利技术提供一种确定应用程序运行性能的方法,包括如下步骤:监听指定应用程序的启动事件;在所述指定应用程序的运行过程中,获取应用界面的运行数据以确定应用的运行流畅度,获取指定进程对系统资源的占用时长以确定应用的资源占用度,获取应用活动组件生命周期函数的耗时以确定应用的运行耗时;根据所述运行流畅度、资源占用度或运行耗时中的至少一项确定所述指定应用程序的运行性能数据。在其中一个实施例中,所述指定应用程序运行的系统为安卓系统,通过监听onCreate()函数识别所述指定应用程序的启动事件。在其中一个实施例中,所述指定应用程序包括预设的应用程序、启动频次超过第一阈值的应用程序、占用的运存超过第二阈值的应用程序或游戏类应用程序。在其中一个实施例中,所述应用界面的运行数据包括应用界面绘制帧率,应用界面绘制帧率越接近设定的刷新帧率,应用的运行流畅度越高。在其中一个实施例中,所述应用界面的绘制帧率包括在设定统计时长内的最大帧率、最小帧率和平均帧率。在其中一个实施例中,所述指定应用程序运行的系统为安卓系统,通过Choreographer类计算垂直同步信号的接收个数和应用界面的绘制帧数以得到所述应用界面绘制帧率。在其中一个实施例中,所述垂直同步信号为VSync信号。在其中一个实施例中,通过监听doFrame()方法的调用次数以得到应用界面的绘制帧数。在其中一个实施例中,所述系统资源为CPU,所述资源占用度为CPU占用率。在其中一个实施例中,获取指定进程对系统资源的占用时长包括:获取指定进程在设定周期内对CPU的占用时长。在其中一个实施例中,所述指定应用程序运行的系统为安卓系统,设定周期内的CPU占用率use=t1/t2;其中,t1为所述指定进程在设定周期内对CPU的占用时长,t2为在设定周期内CPU总的被占用时长。在其中一个实施例中,t1=p2SumTime-p1SumTime;其中,p1SumTime为周期开始时刻所述指定进程的对CPU的占用时间,p2SumTime为周期结束时刻所述指定进程的对CPU的占用时间;而所述指定进程的对CPU的占用时间=utime+stime+cutime+cstime;通过/proc/<pid>/stat目录路径获取utime、stime、cutime和cstime,其中<pid>表示指定进程的进程号。在其中一个实施例中,t2=secondCpuSumTime-firstCpuSumTime;其中,firstCpuSumTime为周期开始时刻CPU总的被占用时间,secondCpuSumTime为周期结束时刻CPU总的被占用时间;而CPU总的被占用时间=user+nice+system+idle+ioWait+irq+softIrq+stealStolen+guest;通过/proc/stat目录路径获取user、nice、system、idle、ioWait、irq、softIrq、stealStolen、guest。在其中一个实施例中,所述指定应用程序运行的系统为安卓系统,所述应用活动组件生命周期函数包括onCreate()函数,onStart()函数,onResume()函数,onPause()函数,onStop()函数,OnDestroy()函数至少其中一种函数。在其中一个实施例中,通过使用Instrumentation类监控对所述应用活动组件生命周期函数的调用,以监控所述应用活动组件生命周期函数的耗时。在其中一个实施例中,通过将变量mInstrumentation替换为自定义对象的方式进行监控。在其中一个实施例中,确定所述指定应用程序的运行性能数据之后,还包括步骤:将所述指定应用程序的运行性能数据发送给云端服务器。在其中一个实施例中,将所述指定应用程序的运行性能数据发送给云端的过程包括:将所述指定应用程序的运行性能数据、所述指定应用程序的属性信息、本机属性信息发送给云端服务器。在其中一个实施例中,所述指定应用程序的属性信息包括所述指定应用程序的包名和应用版本号。在其中一个实施例中,所述本机属性信息包括本机的品牌信息和机型信息。在其中一个实施例中,还包括步骤:向云端服务器提交包含本机属性信息及本机应用程序列表的优化配置请求;接收所述云端服务器依据预先采集的应用程序的运行性能数据为所述应用程序列表匹配的权重列表,在该权重列表中包含有本机各应用程序的权重;依据所述权重列表中各应用程序的权重调整各应用程序的运行资源。在其中一个实施例中,还包括步骤:向云端服务器提交包含本机属性信息的应用程序推荐请求;接收所述云端服务器依据预先采集的应用程序的运行性能数据制定的应用程序推荐列表;依据所述应用程序推荐列表显示被推荐下载的所有应用程序。本专利技术还提供一种确定应用程序运行性能的装置,其包括:监听模块,用于监听指定应用程序的启动事件;获取模块,用于在所述指定应用程序的运行过程中,获取应用界面的运行数据以确定应用的运行流畅度,获取指定进程对系统资源的占用时长以确定应用的资源占用度,获取应用活动组件生命周期函数的耗时以确定应用的运行耗时;确定模块,用于根据所述运行流畅度、资源占用度或运行耗时中的至少一项确定所述指定应用程序的运行性能数据。在其中一个实施例中,所述指定应用程序运行的系统为安卓系统,所述监听模块通过监听onCreate()函数识别所述指定应用程序的启动事件。在其中一个实施例中,所述指定应用程序包括预设的应用程序、启动频次超过第一阈值的应用程序、占用的运存超过第二阈值的应用程序或游戏类应用程序。在其中一个实施例中,所述应用界面的运行数据包括应用界面绘制帧率,应用界面绘制帧率越接近设定的刷新帧率,应用的运行流畅度越高。在其中一个实施例中,所述应用界面的绘制帧率包括在设定统计时长内的最大帧率、最小帧率和平均帧率。在其中一个实施例中,所述指定应用程序运行的系统为安卓系统,所述获取模块通过Choreographer类计算垂直同步信号的接收个数和应用界面的绘制帧数以得到所述应用界面绘制帧率。在其中一个实施例中,所述垂直同步信号为VS本文档来自技高网...
确定应用程序运行性能的方法、装置和移动终端

【技术保护点】
一种确定应用程序运行性能的方法,其特征在于,包括如下步骤:监听指定应用程序的启动事件;在所述指定应用程序的运行过程中,获取应用界面的运行数据以确定应用的运行流畅度,获取指定进程对系统资源的占用时长以确定应用的资源占用度,获取应用活动组件生命周期函数的耗时以确定应用的运行耗时;根据所述运行流畅度、资源占用度或运行耗时中的至少一项确定所述指定应用程序的运行性能数据。

【技术特征摘要】
1.一种确定应用程序运行性能的方法,其特征在于,包括如下步骤:监听指定应用程序的启动事件;在所述指定应用程序的运行过程中,获取应用界面的运行数据以确定应用的运行流畅度,获取指定进程对系统资源的占用时长以确定应用的资源占用度,获取应用活动组件生命周期函数的耗时以确定应用的运行耗时;根据所述运行流畅度、资源占用度或运行耗时中的至少一项确定所述指定应用程序的运行性能数据。2.根据权利要求1所述的确定应用程序运行性能的方法,其特征在于,所述指定应用程序运行的系统为安卓系统,通过监听onCreate()函数识别所述指定应用程序的启动事件。3.根据权利要求1所述的确定应用程序运行性能的方法,其特征在于,所述指定应用程序包括预设的应用程序、启动频次超过第一阈值的应用程序、占用的运存超过第二阈值的应用程序或游戏类应用程序。4.根据权利要求1所述的确定应用程序运行性能的方法,其特征在于,所述应用界面的运行数据包括应用界面绘制帧率,应用界面绘制帧率越接近设定的刷新帧率,应用的运行流畅度越高。5.根据权利要求4所述的确定应用程序运行性能的方法,其特征在于,所述应用界面的绘制帧率包括在设定统计时长内的最大帧率、最小帧率和平均帧率。6.根据权利要求4所述的确定应用程序运行性能...

【专利技术属性】
技术研发人员:刘刚纪纲陈佩翰
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1