应用程序运行性能分析方法、装置及系统与流程

文档序号:13094718阅读:284来源:国知局
应用程序运行性能分析方法、装置及系统与流程

本发明涉及信息处理技术领域,特别是涉及一种应用程序运行性能分析方法、装置及系统。



背景技术:

随着信息技术的不断发展,智能移动终端开始普及且功能越来越增强,如智能手机和平板电脑。目前,用户对智能移动终端中安装的应用程序的运行性能要求越来越高,较高的运行性能可以为应用程序带来较多的市场份额。通常需要分析应用程序的运行性能。

目前,为了不断提高应用程序的质量,通常由程序开发人员根据对应用程序进行运行性能测试的性能测试结果,分析应用程序的运行性能并对应用程序进行优化。然而,应用程序运行时所涉及的移动终端模块较多,产生的性测试结果数据复杂且数据量大,通过上述方式分析应用程序的运行性能,会消耗较多的人力成本和时间成本,造成应用程序的运行性能分析效率较低,以及造成应用程序的性能优化效率较低。



技术实现要素:

有鉴于此,本发明提供一种应用程序的运行性能分析方法、装置及系统,主要目的在于可以实现自动对应用程序的运行性能分析,节省人力成本和时间成本,提升应用程序的运行性能分析效率,并可以提升应用程序的性能优化效率。

依据本发明第一方面,提供了一种应用程序的运行性能分析方法,包括:

向移动终端下发参数信息获取逻辑,以使得所述移动终端根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息;

对所述移动终端反馈的参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。

依据本发明第二方面,提供了另一种应用程序的运行性能分析方法,包括:

接收云端服务器下发的参数信息获取逻辑;

根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息,并将所述参数信息发送给所述云端服务器,以使得所述云端服务器对所述参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。

依据本发明第三方面,提供了一种云端服务器,包括:

发送单元,用于向移动终端下发参数信息获取逻辑,以使得所述移动终端根据所述获取逻辑采集相应的应应用程序在运行过程中的参数信息;

分析单元,用于对所述移动终端反馈的参数信息进行分析,得到所述应用程序的运行性能分析结果;

优化单元,用于根据所述分析单元得到的性能分析结果对应用程序的运行性能进行优化。

依据本发明第四方面,提供了一种移动终端,包括:

接收单元,用于接收云端服务器下发的参数信息获取逻辑;

采集单元,用于根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息;

发送单元,用于将所述参数信息发送给所述云端服务器,以使得所述云端服务器对所述参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。

依据本发明第五方面,提供了一种应用程序的运行性能分析系统,包括:云端服务器和移动终端,

所述云端服务器,用于向移动终端下发参数信息获取逻辑;

所述移动终端,用于根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息;

所述云端服务器,用于对所述移动终端反馈的参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。

依据本发明第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:

向移动终端下发参数信息获取逻辑,以使得所述移动终端根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息;

对所述移动终端反馈的参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。

依据本发明第七方面,提供了一种云端服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

向移动终端下发参数信息获取逻辑,以使得所述移动终端根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息;

对所述移动终端反馈的参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。

依据本发明第八方面,提供了另一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:

接收云端服务器下发的参数信息获取逻辑;

根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息,并将所述参数信息发送给所述云端服务器,以使得所述云端服务器对所述参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。

依据本发明第九方面,提供了一种移动终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

接收云端服务器下发的参数信息获取逻辑;

根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息,并将所述参数信息发送给所述云端服务器,以使得所述云端服务器对所述参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。

借由上述技术方案,本发明提供一种应用程序的运行性能分析方法、装置及系统,与目前通常由程序开发人员根据对应用程序进行运行性能测试的性能测试结果,分析应用程序的运行性能并对应用程序进行优化相比,本发明通过向移动终端下发参数信息获取逻辑,可以采集相应的应用程序在运行过程中的参数信息,并基于所述移动终端反馈的参数信息,可以实现自动分析应用程序的运行性能并得到运行性能分析结果,可以节省人力成本和时间成本,从而可以提升应用程序的运行性能分析效率。此外,基于所述性能分析结果可以实现自动对应用程序的运行性能进行优化,从而可以提升应用程序的运行性能优化效率。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了本发明实施例提供的一种应用程序的运行性能分析方法流程图;

图2示出了本发明实施例提供的另一种应用程序的运行性能分析方法流程图;

图3示出了本发明实施例提供的一种云端服务器的结构示意图;

图4示出了本发明实施例提供的一种云端服务器的实体结构示意图;

图5示出了本发明实施例提供的一种移动终端的结构示意图;

图6示出了本发明实施例提供的一种移动终端的实体结构示意图;

图7示出了本发明实施例提供的一种应用程序的运行性能分析系统的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

如背景技术所述,目前通常由程序开发人员根据对应用程序进行运行性能测试的性能测试结果,分析应用程序的运行性能并对应用程序进行优化,性测试结果数据复杂且数据量大,会消耗较多的人力成本和时间成本,造成应用程序的运行性能分析效率较低,以及造成应用程序的性能优化效率较低。

为了解决上述问题,本发明实施例提供了一种应用程序的运行性能分析方法,可以应用于云端服务器侧,如图1所示,所述方法包括:

101、向移动终端下发参数信息获取逻辑。

对于本发明实施例,通过向移动终端下发参数信息获取逻辑,能够所述移动终端根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息。

需要说明的是,云端服务器可以以配置文件的形式向移动终端下发参数信息获取逻辑,即移动终端在接收到所述获取逻辑时,才会执行采集参数的操作步骤。移动终端在采集到参数信息后可以先缓存起来,等到存储到一定数目的数据时,再将参数信息上报给云端服务器,通过上述操作,可以减少频繁进行读入/读出操作。配置文件中可以配置移动终端将参数信息上报给云端服务器的上报时间间隔字段upload_interval、清理参数信息的清理时间间隔字段clean_exp或clean_interval、暂停采集参数信息的暂停时间间隔字段pause_interval、一次缓存的最大条数字段once_max_coun等。

102、对所述移动终端反馈的参数信息进行分析,得到所述应用程序的运行性能分析结果。

其中,所述参数信息可以包括:activity启动耗时信息、网络访问信息、内存信息、电量信息、帧率信息、传感器使用信息、文件信息或者程序启动耗时信息。不同类型的参数信息可以按照不同的频率采集。例如,在每个activity都采集activity启动耗时信息,每次网络访问都采集网络访问信息,定时采集内存信息,每天采集一次电量信息,定时采集帧率信息,每次访问传感器都采集传感器使用信息,定时采集文件信息,在应用程序每次启动时,采集程序启动耗时信息。相应的,得到所述应用程序的运行性能分析结果可以为:activity启动耗时信息分析结果、网络访问信息分析结果、内存占用分析结果、电量消耗分析结果、cpu使用率分析结果、磁盘使用率分析结果、卡顿情况分析结果等,也可以为上述分析结果集合。

103、根据所述性能分析结果对应用程序的运行性能进行优化。

需要说明的是,根据性能分析结果可以确定出应用程序是否存在问题,在应用程序存在问题时,可以对应用程序的运行性能进行优化,具体可以通过重新编辑应用程序的相关模块的方式优化运行性能。在生成新的应用程序版本后,可以发布给移动终端,使得移动终端再次采集应用程序在运行过程中的参数信息,进行新的一轮性能优化,使得应用程序不断完善。

本发明实施例提供的一种应用程序的运行性能分析方法,可以应用于云端服务器侧,与目前通常由程序开发人员根据对应用程序进行运行性能测试的性能测试结果,分析应用程序的运行性能并对应用程序进行优化相比,本发明通过向移动终端下发参数信息获取逻辑,可以采集相应的应用程序在运行过程中的参数信息,并基于所述移动终端反馈的参数信息,可以实现自动分析应用程序的运行性能并得到运行性能分析结果,可以节省人力成本和时间成本,从而可以提升应用程序的运行性能分析效率。此外,基于所述性能分析结果可以实现自动对应用程序的运行性能进行优化,从而可以提升应用程序的运行性能优化效率。

进一步的,为了更好的说明上述分析方法的过程,作为对上述实施例的细化和扩展,本发明实施例提供了几种可选实施例,但不限于此,具体如下所示:

在本发明的一个可选实施例中,为了实现分析应用程序的activity组件启动耗时信息,上述步骤102具体可以包括:根据所述移动终端反馈的activity组件启动耗时信息,统计所述应用程序的各个activity组件生命周期耗时排行榜单,所述activity组启动耗时信息是根据在移动终端的内存临时生存的动态代理类的耗时信息采集接口函数采集的,或者根据通过面向切向编程方式修改的动态代理类的耗时信息采集接口函数采集的。相应的,步骤103具体可以包括:根据所述耗时排行榜单,对生命周期耗时信息大于或者等于预设耗时阈值的activity组件进行耗时优化。其中,activity组件表现为与用户交互的可视化界面。所述预设耗时阈值可以根据系统默认进行设置,例如,所述预设耗时阈值可以为0.1s。对activity组件进行耗时优化的方式:可以为减少activity组件布局文件的层级,也可以对主线程的耗时操作进行异步处理。

在本发明的另一个可选实施例中,为了实现分析应用程序的网络访问信息,上述步骤102具体可以包括:根据所述移动终端反馈的网络访问信息,统计所述应用程序的网络访问排行榜单,所述网络访问信息是对以面向切向编程方式静态切入到网络访问接口函数的调用信息进行分析得到的。相应的,步骤103具体可以包括:根据所述网络访问排行榜单,对网络流量大于或者等于预设流量阈值的网络访问进行访问优化。

其中,统计的网络访问排行榜单还可以为按照用户和url维度统计出的流量上传排行榜单和流量下载排行榜单。所述网络访问信息可以包含网络访问次数、网络字节传输量、网络访问返回结果等内容。网络访问接口函数可以为参照httpclient、httpurlcollection等接口(applicationprograminterface,api)编写的函数。例如,通过aop(aspectorientedprogramming)面向切向的方式切入到httpclient、httpurlcollection等关键api接口的调用,获取得到网络访问次数、网络字节传输量、网络访问返回结果等数据,所述预设流量阈值可以根据用户的需求进行设置,如预设流量阈值可以为1mb/s等。对所述网络访问进行优化的过程可以为:减少不必要的,重复的网络访问,以及尽量在无线网络环境下进行网络访问。

在本发明的又一个可选实施例中,为了实现分析应用程序的内存占用率,上述步骤102具体可以包括:根据所述移动终端反馈的内存占用信息,统计所述应用程序的内存占用排行榜单,所述内存占用信息是根据应用程序进程的内存使用信息以及所述应用程序进程的总物理内存数量确定的。相应的,步骤103具体可以包括:根据所述内存使用排行榜单,对内存占用率大于或者等于预设内存占用率阈值的进程进行内存优化。

其中,内存使用信息可以包含应用程序进程的原生态native物理内存、虚拟机内存、总物理内存大小、以及其他内存占用等信息,移动终端可以使用androiddebug类的getmemoryinfo获取得到应用程序进程的内存使用信息meminfo,并使用meminfo的gettotalpss得到应用程序进程总的物理内存大小totalpss,其中meminfo的nativepss即为当前进程的native物理内存,dalvikpss即为当前进程的虚拟机内存,otherpss为其他内存占用。所述预设内存占用率阈值可以根据用户的需求进行设置,如预设内存占用率阈值可以为40%,50%等。所述对内存占用率大于或者等于预设内存占用率阈值的进程进行内存优化的过程可以为:对影响内存占用的模块及时进行调整编辑。

在本发明的再一个可选实施例中,为了实现分析应用程序的运行卡顿情况,上述步骤102具体可以包括:根据所述移动终端反馈的当前时钟周期的帧率信息,统计所述应用程序的运行卡顿情况,所述帧率信息是在读取到显示系统绘制的回调信息时,对预定统计周期内已统计的帧率信息进行累计,并在所述预定统计周期结束时,根据所述预定统计周期内已统计的帧率信息确定的。相应的,步骤103具体可以包括:若所述应用程序在运行过程中存在卡顿,则对所述应用程序进行卡顿优化。

其中,所述帧率信息可以使用android的消息处理器choreographer来获取,choreographer会接收显示系统的三个绘制消息msg_do_frame、msg_do_schedule_vsync、msg_do_schedule_callback,分别对应三种回调,包括事件回调、动画回调、绘制回调,这三种事件在消息输入、加入动画、准备绘图layout等动作时均会发给choreographer。可以设定初始帧率值为framenumer,并为其赋初值0,在开始统计帧率时,调用choreographer的postframecallback接口发送配置下一次显示系统绘制回调的指令,接收到显示系统绘制回调之后,为帧率值framenumer累计加1,并再次调用choreographer的postframecallback接口发送配置下一次显示系统绘制回调的指令,通过这种方式周期统计,当统计周期结束时,得到的framenumer即为当前时钟周期的帧率值。需要说明的是,当前时钟周期的帧率值大于或者等于预设帧率阈值时,说明若所述应用程序在运行过程中存在卡顿。所述预设传感器使用率阈值可以根据系统默认模式进行设置,如预设帧率阈值可以为1fps,2fps等。所述对所述应用程序进行卡顿优化的过程可以为:对影响运行导致卡顿的模块及时进行调整编辑。

在本发明的再一个可选实施例中,为了实现分析应用程序的传感器使用率,上述步骤102具体可以包括:根据所述移动终端反馈的传感器使用信息,统计所述应用程序的传感器使用率,所述传感器使用信息是通过调用预设传感器接口函数采集的。相应的,步骤103具体可以包括:若所述传感器使用率大于或者等于预设传感器使用率阈值,则对所述应用程序进行传感器访问优化。其中预设传感器接口函数可以为参照alarmmanager、wifimanager、sensormanager、wakelock、locationmanager等接口编写的函数。例如,通过aop面向切向的方式切入到alarmmanager、wifimanager、sensormanager、wakelock、locationmanager等关键api接口的调用,获取得到光线传感器使用次数、加速度传感器使用次数、陀螺仪使用次数、重力传感器使用次数等信息。所述预设传感器使用率阈值可以根据用户的需求进行设置,如预设传感器使用率阈值可以为50%,55%等。所述对所述应用程序进行传感器访问优化的过程可以为:对影响传感器访问的模块及时进行调整编辑。

在本发明的再一个可选实施例中,为了实现分析应用程序的电量消耗,上述步骤102具体可以包括:根据所述移动终端反馈的电量信息,统计所述应用程序的电量消耗排行榜单,所述电量信息是通过调用预设电量信息确定策略采集的。相应的,步骤103具体可以包括:根据所述电量消耗排行榜单,对大于或者预设电量消耗阈值的电量消耗进行优化。其中,预设电量信息确定策略可以为对移动终端的操作系统的功耗信息类com.android.internal.os.powerprofile进行反射处理,然后功耗信息类对象对应的获取功耗方法函数,确定应用程序所使用的各个部件对应的功耗参数如powerprofile的getaveragepower,所述各个部件可以为处理器、网络部件、传感器、无线电部件和唤醒部件。并根据应用程序对应的应用程序接口确定各个部件的耗电参数,根据功耗参数和各个部件的耗电参数确定各个部件对应的耗电量,最后根据各个部件对应的耗电量确定应用程序的电量消耗。所述预设电量消耗阈值可以根据用户的需求进行设置,如预设电量消耗阈值可以为10ma,20ma等。所述根据所述电量消耗排行榜单,对大于或者预设电量消耗阈值的电量消耗进行优化的过程可以为:对影响电量消耗的模块及时进行调整编辑。

在本发明的再一个可选实施例中,为了实现分析应用程序的磁盘使用率,上述步骤102具体可以包括:根据所述移动终端反馈的文件信息,统计所述应用程序的磁盘使用率,所述文件信息是通过调用预设文件目录接口函数监控的。相应的,步骤103具体可以包括:若所述磁盘使用率大于或者等于预设磁盘使用率阈值,则对所述应用程序进行文件访问优化。

其中,通过预设文件目录接口函数可以采集相应目录下所有子目录及文件的大小、修改时间、可读、可写、可执行状态等。文件读写时需要消耗磁盘资源,磁盘使用率可以为文件占用磁盘的大小与磁盘总大小的比值。所述预设磁盘使用率阈值根据用户的需求进行设置,如预设电量消耗阈值可以为30%,40%等。对所述应用程序进行文件访问优化的过程具体可以包括:对影响磁盘使用的模块及时进行调整编辑。

在本发明的再一个可选实施例中,为了实现分析应用程序的cpu使用率,上述步骤102具体可以包括:根据所述移动终端反馈的cpu使用信息,统计所述应用程序的cpu使用率,所述cpu使用信息是通过调用预设cpu使用信息接口函数采集的。相应的,步骤103具体可以包括:若所述cpu使用率大于或者等于预设cpu使用率阈值,则对所述应用程序进行cpu使用优化。

其中,cpu使用信息可以包括:当前进程cpu的第一使用时长位、第一总共使用时长、当前进程cpu对应的上一次读取到的第二使用时长位以及第二总共使用时长。然后根据第一使用时长位、第一总共使用时长、第二使用时长位和第二总共使用时长,确定当前进程cpu的使用率。例如,具体可以设定上一次读取到的当前进程cpu的使用时长位为time1,cpu总共使用时长为totaltime1,而本次读取到的当前进程cpu的使用时长位为time2,cpu总共使用时长为totaltime2,则当前进程本次的cpu使用率(cpuusage)为cpuusage=(time2–time1)/(totaltime2–totaltime1)*100。所述预设cpu使用率阈值可以根据用户的需求进行设置,如预设cpu使用率阈值可以为30%,40%等。所述对所述应用程序进行cpu使用优化的过程可以为:对影响cpu使用的模块及时进行调整编辑。

上述实施例所描述的是云端服务器侧进行应用程序的运行性能信息分析过程,相应的,本发明实施例提供了另一种应用程序的运行性能分析方法,可以应用于移动终端,如图2所示,所述方法包括:

201、接收云端服务器下发的参数信息获取逻辑。

需要说明的是,云端服务器可以以配置文件的形式向移动终端下发参数信息获取逻辑,即移动终端在接收到所述获取逻辑时,才会执行采集参数的操作步骤。移动终端在采集到参数信息后可以先缓存起来,等到存储到一定数目的数据时,再将参数信息上报给云端服务器,通过上述操作,可以减少频繁进行读入/读出操作。

202、根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息。

其中,所述参数信息可以包括:activity启动耗时信息、网络访问信息、内存信息、电量信息、帧率信息、传感器使用信息、文件信息或者程序启动耗时信息。

203、将所述参数信息发送给所述云端服务器。

对于本发明实施例,通过将所述参数信息发送给所述云端服务器,能够使得所述云端服务器对所述参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。

进一步的,为了更好的说明上述分析方法的过程,作为对上述实施例的细化和扩展,本发明实施例提供了几种可选实施例,但不限于此,具体如下所示:

在本发明的一个可选实施例中,为了实现分析应用程序的activity组件启动耗时信息,上述步骤202具体可以包括:在移动终端的内存中临时生成动态代理类,并根据所述动态代理类的耗时信息采集接口函数采集activity组件启动耗时信息;或者通过面向切向编程方式修改动态代理类的耗时信息采集接口函数,并根据修改的耗时信息采集接口函数采集activity组件启动耗时信息。相应的,步骤203具体可以包括:将所述启动耗时信息发送给所述云端服务器,以使得所述云端服务器根据所述启动耗时信息统计出各个activity组件生命周期耗时信息情况,并对生命周期耗时信息大于或者等于预设耗时阈值的activity组件进行耗时优化。

例如,移动终端预先可以使用java反射技术获取到activitythread类对象,再修改其成员minstrumentation为自己的代理对象;然后在代理对象的callactivityoncreate函数里创建runable对象,并设置callactivityoncreate的调用时间starttime为当前时间;然后再使用decorview的post函数将runable对象插入到当前视图view的绘制队列当中;最后在视图第一帧绘制的时候,就会执行该runable对象,在runable对象的run函数里得到第一帧绘制的结束时间endtime;然后根据这两个参数计算差值,得到视图第一帧绘制的总耗时时长time,具体为:time=endtime–starttime,计算得到的time即为activity组件启动耗时信息。

在本发明的另一个可选实施例中,为了实现分析应用程序的网络访问信息,上述步骤202具体可以包括:以面向切向编程方式静态切入到网络访问接口函数,获取所述网络访问接口函数的调用信息;对所述调用信息进行分析,获取相应的应用程序在运行过程中的网络访问信息。相应的,步骤203具体可以包括:将所述网络访问信息发送给所述云端服务器,以使得所述云端服务器根据所述网络访问信息统计所述应用程序的网络访问排行榜单,并根据所述网络访问排行榜单对网络流量大于或者等于预设流量阈值的网络访问进行访问优化。

在本发明的又一个可选实施例中,为了实现分析应用程序的内存占用率,上述步骤202具体可以包括:获取相应的应用程序进程的内存使用信息以及所述应用程序进程的总物理内存数量;根据所述内存使用信息和所述总物理内存数量,确定所述应用程序进程的内存占用信息。相应的,步骤203具体可以包括:将所述内存占用信息发送给所述云端服务器,以使得所述云端服务器根据所述内存占用信息统计所述应用程序的内存占用排行榜单,并根据所述内存使用排行榜单对内存占用率大于或者等于预设内存占用率阈值的进程进行内存优化。

在本发明的再一个可选实施例中,为了实现分析应用程序的运行卡顿情况,上述步骤202具体可以包括:在读取到显示系统绘制的回调信息时,对预定统计周期内已统计的帧率信息进行累计,并在所述预定统计周期结束时,将所述预定统计周期内已统计的帧率信息,确定为当前时钟周期的帧率信息。相应的,步骤203具体可以包括:将所述帧率信息发送给所述云端服务器,以使得所述云端服务器根据所述帧率信息统计所述应用程序的运行卡顿情况,并在所述应用程序在运行过程中存在卡顿时,对所述应用程序进行卡顿优化。

在本发明的再一个可选实施例中,为了实现分析应用程序的传感器使用率,上述步骤202具体可以包括:通过调用预设传感器接口函数采集应用程序在运行过程中访问传感器的传感器使用信息。相应的,步骤203具体可以包括:将所述传感器使用信息发送给所述云端服务器,以使得所述云端服务器根据所述传感器信息统计所述应用程序的传感器使用率,并在所述传感器使用率大于或者等于预设传感器使用率阈值时,对所述应用程序进行传感器访问优化。

在本发明的再一个可选实施例中,为了实现分析应用程序的电量消耗,上述步骤202具体可以包括:通过调用预设电量信息确定策略统计应用程序在运行过程中所消耗的电量信息。相应的,步骤203具体可以包括:将所述电量信息发送给所述云端服务器,以使得所述云端服务器根据所述电量信息统计所述应用程序的电量消耗排行榜单,并根据所述电量消耗排行榜单,对大于或者预设电量消耗阈值的电量消耗进行优化。

在本发明的再一个可选实施例中,为了实现分析应用程序的磁盘使用率,上述步骤202具体可以包括:通过调用预设文件目录接口函数监控应用程序在运行过程中所使用的文件信息。相应的,步骤203具体可以包括:将所述文件信息发送给所述云端服务器,以使得所述云端服务器根据所述文件信息统计所述应用程序的磁盘使用率,并在所述磁盘使用率大于或者等于预设磁盘使用率阈值时,对所述应用程序进行文件访问优化。

在本发明的再一个可选实施例中,为了实现分析应用程序的cpu使用率,上述步骤202具体可以包括:调用预设cpu使用信息接口函数获取应用程序在运行过程中的cpu使用信息。相应的,步骤203具体可以包括:将所述cpu使用信息发送给所述云端服务器,以使得所述云端服务器根据所述cpu使用信息统计所述应用程序的cpu使用率,并在所述cpu使用率大于或者等于预设cpu使用率阈值时,对所述应用程序进行cpu使用优化。

需要说明的是,移动终端侧所涉及的实施例中对应用程序的运行性能分析的相关描述可以参考云端服务器侧所涉及的实施例,本发明在此不做赘述。

本发明实施例提供的另一种应用程序的运行性能分析方法,可以应用于移动终端侧,与目前通常由程序开发人员根据对应用程序进行运行性能测试的性能测试结果,分析应用程序的运行性能并对应用程序进行优化相比,本发明通过向移动终端下发参数信息获取逻辑,可以采集相应的应用程序在运行过程中的参数信息,并基于所述移动终端反馈的参数信息,可以实现自动分析应用程序的运行性能并得到运行性能分析结果,可以节省人力成本和时间成本,从而可以提升应用程序的运行性能分析效率。此外,基于所述性能分析结果可以实现自动对应用程序的运行性能进行优化,从而可以提升应用程序的运行性能优化效率。

进一步地,作为图1的具体实现,本发明实施例提供了一种云端服务器,如图3所示,所述云端服务器包括:发送单元31、分析单元32、优化单元33。

发送单元31,可以用于向移动终端下发参数信息获取逻辑。进一步地,以使得所述移动终端根据所述获取逻辑采集相应的应应用程序在运行过程中的参数信息;发送单元31面向客户端,为本云端服务器中向移动终端下发参数信息获取逻辑的主要功能模块。

分析单元32,可以用于对所述移动终端反馈的参数信息进行分析,得到所述应用程序的运行性能分析结果;分析单元32,为本云端服务器中对所述移动终端反馈的参数信息进行分析的主要功能模块,也是本云端服务器中的核心功能模块,在分析得到应用程序的运行性能信息之后,可以触发优化单元33进行工作。

优化单元33,可以用于根据所述分析单元32得到的性能分析结果对应用程序的运行性能进行优化。

在具体的应用场景中,为了分析应用程序的activity组件启动耗时信息,所述分析单元32,具体可以用于根据所述移动终端反馈的activity组件启动耗时信息,统计所述应用程序的各个activity组件生命周期耗时排行榜单,所述activity组件启动耗时信息是根据在移动终端的内存临时生存的动态代理类的耗时信息采集接口函数采集的,或者根据通过面向切向编程方式修改的动态代理类的耗时信息采集接口函数采集的。

所述优化单元33,具体可以用于根据所述耗时排行榜单,对生命周期耗时信息大于或者等于预设耗时阈值的activity组件进行耗时优化。

在具体的应用场景中,为了分析应用程序的网络访问信息,所述分析单元32,具体可以用于根据所述移动终端反馈的网络访问信息,统计所述应用程序的网络访问排行榜单,所述网络访问信息是对以面向切向编程方式静态切入到网络访问接口函数的调用信息进行分析得到的。

所述优化单元33,具体可以用于根据所述网络访问排行榜单,对网络流量大于或者等于预设流量阈值的网络访问进行访问优化。

在具体的应用场景中,为了分析应用程序的内存使用信息,所述分析单元32,具体可以用于根据所述移动终端反馈的内存占用信息,统计所述应用程序的内存占用排行榜单,所述内存占用信息是根据应用程序进程的内存使用信息以及所述应用程序进程的总物理内存数量确定的。

所述优化单元33,具体可以用于根据所述内存使用排行榜单,对内存占用率大于或者等于预设内存占用率阈值的进程进行内存优化。

在具体的应用场景中,为了分析应用程序的卡顿情况信息,所述分析单元32,具体可以用于根据所述移动终端反馈的当前时钟周期的帧率信息,统计所述应用程序的运行卡顿情况,所述帧率信息是在读取到显示系统绘制的回调信息时,对预定统计周期内已统计的帧率信息进行累计,并在所述预定统计周期结束时,根据所述预定统计周期内已统计的帧率信息确定的。

所述优化单元33,具体可以用于若所述应用程序在运行过程中存在卡顿,则对所述应用程序进行卡顿优化。

在具体的应用场景中,为了分析应用程序的传感器使用信息,所述分析单元32,具体可以用于根据所述移动终端反馈的传感器使用信息,统计所述应用程序的传感器使用率,所述传感器使用信息是通过调用预设传感器接口函数采集的。

所述优化单元33,具体可以用于若所述传感器使用率大于或者等于预设传感器使用率阈值,则对所述应用程序进行传感器访问优化。

在具体的应用场景中,为了分析应用程序的电量消耗信息,所述分析单元32,具体可以用于根据所述移动终端反馈的电量信息,统计所述应用程序的电量消耗排行榜单,所述电量信息是通过调用预设电量信息确定策略采集的。

所述优化单元33,具体可以用于根据所述电量消耗排行榜单,对大于或者预设电量消耗阈值的电量消耗进行优化。

在具体的应用场景中,为了分析应用程序的磁盘使用率,所述分析单元32,具体可以用于根据所述移动终端反馈的文件信息,统计所述应用程序的磁盘使用率,所述文件信息是通过调用预设文件目录接口函数监控的。

所述优化单元33,具体可以用于若所述磁盘使用率大于或者等于预设磁盘使用率阈值,则对所述应用程序进行文件访问优化。

在具体的应用场景中,为了分析应用程序的cpu使用率,所述分析单元32,具体可以用于根据所述移动终端反馈的cpu使用信息,统计所述应用程序的cpu使用率,所述cpu使用信息是通过调用预设cpu使用信息接口函数采集的。

所述优化单元33,具体可以用于若所述cpu使用率大于或者等于预设cpu使用率阈值,则对所述应用程序进行cpu使用优化。

需要说明的是,本发明实施例提供的一种云端服务器所涉及各功能单元的其他相应描述,可以参考图1中的对应描述,在此不再赘述。

基于上述如图1所示方法,相应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:向移动终端下发参数信息获取逻辑,进一步地,以使得所述移动终端根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息;对所述移动终端反馈的参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。

基于上述如图1所示方法和如图3所示云端服务器的实施例,本发明实施例还提供了一种服务器的实体装置,如图4所示,该装置包括:处理器41、存储器42、及存储在存储器42上并可在处理器上运行的计算机程序,所述处理器41执行所述程序时实现以下步骤:向移动终端下发参数信息获取逻辑,以使得所述移动终端根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息;对所述移动终端反馈的参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化该装置还包括:总线43,被配置为耦接处理器41及存储器42。

进一步的,作为图2所述方法的具体实现,本发明实施例提供了一种移动终端,如图5所示,所述移动终端包括:接收单元51、采集单元52和发送单元53。

所述接收单元51,可以用于接收云端服务器下发的参数信息获取逻辑;所述接收单元51是本移动终端中接收参数信息获取逻辑的主要功能模块。

所述采集单元52,可以用于根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息;所述采集单元52是本移动终端中采集相应的应用程序在运行过程中的参数信息的主要功能模块,也是本移动终端中的核心功能模块,在采集相应的应用程序在运行过程中的参数信息之后,可以触发发送单元53进行工作。

所述发送单元53,可以用于将所述参数信息发送给所述云端服务器。

进一步地,以使得所述云端服务器对所述参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。

在具体的应用场景中,为了分析应用程序的activity组件启动耗时信息,所述采集单元52,具体可以用于在移动终端的内存中临时生成动态代理类,并根据所述动态代理类的耗时信息采集接口函数采集activity组件启动耗时信息。

所述采集单元52,具体可以用于通过面向切向编程方式修改动态代理类的耗时信息采集接口函数,并根据修改的耗时信息采集接口函数采集activity组件启动耗时信息。

所述发送单元53,具体可以用于将所述启动耗时信息发送给所述云端服务器。进一步地,以使得所述云端服务器根据所述启动耗时信息统计出各个activity组件生命周期耗时信息情况,并对生命周期耗时信息大于或者等于预设耗时阈值的activity组件进行耗时优化。

在具体的应用场景中,为了分析应用程序的网络访问信息,所述采集单元52,具体可以用于以面向切向编程方式静态切入到网络访问接口函数,获取所述网络访问接口函数的调用信息;并对所述调用信息进行分析,获取相应的应用程序在运行过程中的网络访问信息。

所述发送单元53,具体可以用于将所述网络访问信息发送给所述云端服务器。进一步地,以使得所述云端服务器根据所述网络访问信息统计所述应用程序的网络访问排行榜单,并根据所述网络访问排行榜单对网络流量大于或者等于预设流量阈值的网络访问进行访问优化。

在具体的应用场景中,为了分析应用程序的内存占用率,所述采集单元52,具体可以用于获取相应的应用程序进程的内存使用信息以及所述应用程序进程的总物理内存数量,并根据所述内存使用信息和所述总物理内存数量,确定所述应用程序进程的内存占用信息。

所述发送单元53,具体可以用于将所述内存占用信息发送给所述云端服务器。进一步地,以使得所述云端服务器根据所述内存占用信息统计所述应用程序的内存占用排行榜单,并根据所述内存使用排行榜单对内存占用率大于或者等于预设内存占用率阈值的进程进行内存优化。

在具体的应用场景中,为了分析应用程序的卡顿情况,所述采集单元52,具体可以用于在读取到显示系统绘制的回调信息时,对预定统计周期内已统计的帧率信息进行累计,并在所述预定统计周期结束时,将所述预定统计周期内已统计的帧率信息,确定为当前时钟周期的帧率信息。

所述发送单元53,具体可以用于将所述帧率信息发送给所述云端服务器。进一步地,以使得所述云端服务器根据所述帧率信息统计所述应用程序的运行卡顿情况,并在所述应用程序在运行过程中存在卡顿时,对所述应用程序进行卡顿优化。

在具体的应用场景中,为了分析应用程序的传感器使用信息,所述采集单元52,具体可以用于通过调用预设传感器接口函数采集应用程序在运行过程中访问传感器的传感器使用信息。

所述发送单元53,具体可以用于将所述传感器使用信息发送给所述云端服务器。进一步地,以使得所述云端服务器根据所述传感器信息统计所述应用程序的传感器使用率,并在所述传感器使用率大于或者等于预设传感器使用率阈值时,对所述应用程序进行传感器访问优化。

在具体的应用场景中,为了分析应用程序的电量消耗情况,所述采集单元52,具体可以用于通过调用预设电量信息确定策略统计应用程序在运行过程中所消耗的电量信息。

所述发送单元53,具体可以用于将所述电量信息发送给所述云端服务器。进一步地,以使得所述云端服务器根据所述电量信息统计所述应用程序的电量消耗排行榜单,并根据所述电量消耗排行榜单,对大于或者预设电量消耗阈值的电量消耗进行优化。

在具体的应用场景中,为了分析应用程序的磁盘使用率,所述采集单元52,具体可以用于通过调用预设文件目录接口函数监控应用程序在运行过程中所使用的文件信息。

所述发送单元53,具体可以用于将所述文件信息发送给所述云端服务器。进一步地,以使得所述云端服务器根据所述文件信息统计所述应用程序的磁盘使用率,并在所述磁盘使用率大于或者等于预设磁盘使用率阈值时,对所述应用程序进行文件访问优化。

在具体的应用场景中,为了分析应用程序的cpu使用率,所述采集单元52,具体可以用于调用预设cpu使用信息接口函数获取应用程序在运行过程中的cpu使用信息。

所述发送单元53,具体可以用于将所述cpu使用信息发送给所述云端服务器。进一步地,以使得所述云端服务器根据所述cpu使用信息统计所述应用程序的cpu使用率,并在所述cpu使用率大于或者等于预设cpu使用率阈值时,对所述应用程序进行cpu使用优化。

需要说明的是,本发明实施例提供的一种移动终端所涉及各功能单元的其他相应描述,可以参考图2中的对应描述,在此不再赘述。

基于上述如图2所示方法,相应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:接收云端服务器下发的参数信息获取逻辑;根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息,并将所述参数信息发送给所述云端服务器,以使得所述云端服务器对所述参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。

基于上述如图2所示方法和如图5所示移动终端的实施例,本发明实施例还提供了一种移动终端的实体装置,如图6所示,该移动终端备包括:处理器61、存储器62、及存储在存储器62上并可在处理器上运行的计算机程序,所述处理器61执行所述程序时实现以下步骤:接收云端服务器下发的参数信息获取逻辑;根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息,并将所述参数信息发送给所述云端服务器,以使得所述云端服务器对所述参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。该移动终端备还包括:总线63,被配置为耦接处理器61及存储器62。

进一步的,本发明实施例提供了一种应用程序的运行性能分析系统,如图7所示,包括:云端服务器71和移动终端72。

所述云端服务器71,可以用于向移动终端72下发参数信息获取逻辑。

所述移动终端72,可以用于根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息。

所述云端服务器72,可以用于对所述移动终端72反馈的参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。

通过应用本发明的技术方案,可以实现自动分析应用程序的运行性能并得到运行性能分析结果,可以节省人力成本和时间成本,从而可以提升应用程序的运行性能分析效率。此外,基于所述性能分析结果可以实现自动对应用程序的运行性能进行优化,从而可以提升应用程序的运行性能优化效率。

本发明实施例还提供如下技术方案:

a1、一种应用程序的运行性能分析方法,应用于云端服务器,包括:

向移动终端下发参数信息获取逻辑,以使得所述移动终端根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息;

对所述移动终端反馈的参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。

a2、如a1所述的方法,所述对所述移动终端反馈的参数信息进行分析,具体包括:

根据所述移动终端反馈的activity组件启动耗时信息,统计所述应用程序的各个activity组件生命周期耗时排行榜单,所述activity组启动耗时信息是根据在移动终端的内存临时生存的动态代理类的耗时信息采集接口函数采集的,或者根据通过面向切向编程方式修改的动态代理类的耗时信息采集接口函数采集的;

所述根据所述性能分析结果对应用程序的运行性能进行优化,具体包括:

根据所述耗时排行榜单,对生命周期耗时信息大于或者等于预设耗时阈值的activity组件进行耗时优化。

a3、如a1所述的方法,所述对所述移动终端反馈的参数信息进行分析,具体包括:

根据所述移动终端反馈的网络访问信息,统计所述应用程序的网络访问排行榜单,所述网络访问信息是对以面向切向编程方式静态切入到网络访问接口函数的调用信息进行分析得到的;

所述根据所述性能分析结果对应用程序的运行性能进行优化,具体包括:

根据所述网络访问排行榜单,对网络流量大于或者等于预设流量阈值的网络访问进行访问优化。

a4、如a1所述的方法,所述对所述移动终端反馈的参数信息进行分析,具体包括:

根据所述移动终端反馈的内存占用信息,统计所述应用程序的内存占用排行榜单,所述内存占用信息是根据应用程序进程的内存使用信息以及所述应用程序进程的总物理内存数量确定的;

所述根据所述性能分析结果对应用程序的运行性能进行优化,具体包括:

根据所述内存使用排行榜单,对内存占用率大于或者等于预设内存占用率阈值的进程进行内存优化。

a5、如a1所述的方法,所述对所述移动终端反馈的参数信息进行分析,具体包括:

根据所述移动终端反馈的当前时钟周期的帧率信息,统计所述应用程序的运行卡顿情况,所述帧率信息是在读取到显示系统绘制的回调信息时,对预定统计周期内已统计的帧率信息进行累计,并在所述预定统计周期结束时,根据所述预定统计周期内已统计的帧率信息确定的;

所述根据所述性能分析结果对应用程序的运行性能进行优化,具体包括:

若所述应用程序在运行过程中存在卡顿,则对所述应用程序进行卡顿优化。

a6、如a1所述的方法,所述对所述移动终端反馈的参数信息进行分析,具体包括:

根据所述移动终端反馈的传感器使用信息,统计所述应用程序的传感器使用率,所述传感器使用信息是通过调用预设传感器接口函数采集的;

所述根据所述性能分析结果对应用程序的运行性能进行优化,具体包括:

若所述传感器使用率大于或者等于预设传感器使用率阈值,则对所述应用程序进行传感器访问优化。

a7、如a1所述的方法,所述对所述移动终端反馈的参数信息进行分析,具体包括:

根据所述移动终端反馈的电量信息,统计所述应用程序的电量消耗排行榜单,所述电量信息是通过调用预设电量信息确定策略采集的;

所述根据所述性能分析结果对应用程序的运行性能进行优化,具体包括:

根据所述电量消耗排行榜单,对大于或者预设电量消耗阈值的电量消耗进行优化。

a8、如a1所述的方法,所述对所述移动终端反馈的参数信息进行分析,具体包括:

根据所述移动终端反馈的文件信息,统计所述应用程序的磁盘使用率,所述文件信息是通过调用预设文件目录接口函数监控的;

所述根据所述性能分析结果对应用程序的运行性能进行优化,具体包括:

若所述磁盘使用率大于或者等于预设磁盘使用率阈值,则对所述应用程序进行文件访问优化。

a9、如a1所述的方法,所述对所述移动终端反馈的参数信息进行分析,具体包括:

根据所述移动终端反馈的cpu使用信息,统计所述应用程序的cpu使用率,所述cpu使用信息是通过调用预设cpu使用信息接口函数采集的;

所述根据所述性能分析结果对应用程序的运行性能进行优化,具体包括:

若所述cpu使用率大于或者等于预设cpu使用率阈值,则对所述应用程序进行cpu使用优化。

b10、一种应用程序运行性能分析方法,应用于移动终端,包括:

接收云端服务器下发的参数信息获取逻辑;

根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息,并将所述参数信息发送给所述云端服务器,以使得所述云端服务器对所述参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。

b11、如b10所述的方法,所述根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息,具体包括:

在移动终端的内存中临时生成动态代理类,并根据所述动态代理类的耗时信息采集接口函数采集activity组件启动耗时信息。

b12、如b10所述的方法,所述根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息,具体包括:

通过面向切向编程方式修改动态代理类的耗时信息采集接口函数,并根据修改的耗时信息采集接口函数采集activity组件启动耗时信息。

b13、如b11或b12所述的方法,所述将所述参数信息发送给所述云端服务器,以使得所述云端服务器对所述参数信息进行分析,得到所述应用程序的运行性能分析结果,具体包括:

将所述启动耗时信息发送给所述云端服务器,以使得所述云端服务器根据所述启动耗时信息统计出各个activity组件生命周期耗时信息情况,并对生命周期耗时信息大于或者等于预设耗时阈值的activity组件进行耗时优化。

b14、如b10所述的方法,所述根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息,具体包括:

以面向切向编程方式静态切入到网络访问接口函数,获取所述网络访问接口函数的调用信息;

对所述调用信息进行分析,获取相应的应用程序在运行过程中的网络访问信息;

所述将所述参数信息发送给所述云端服务器,以使得所述云端服务器对所述参数信息进行分析,得到所述应用程序的运行性能分析结果,具体包括:

将所述网络访问信息发送给所述云端服务器,以使得所述云端服务器根据所述网络访问信息统计所述应用程序的网络访问排行榜单,并根据所述网络访问排行榜单对网络流量大于或者等于预设流量阈值的网络访问进行访问优化。

b15、如b10所述的方法,所述根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息,具体包括:

获取相应的应用程序进程的内存使用信息以及所述应用程序进程的总物理内存数量;

根据所述内存使用信息和所述总物理内存数量,确定所述应用程序进程的内存占用信息;

所述将所述参数信息发送给所述云端服务器,以使得所述云端服务器对所述参数信息进行分析,得到所述应用程序的运行性能分析结果,具体包括:

将所述内存占用信息发送给所述云端服务器,以使得所述云端服务器根据所述内存占用信息统计所述应用程序的内存占用排行榜单,并根据所述内存使用排行榜单对内存占用率大于或者等于预设内存占用率阈值的进程进行内存优化。

b16、如b10所述的方法,所述根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息,具体包括:

在读取到显示系统绘制的回调信息时,对预定统计周期内已统计的帧率信息进行累计,并在所述预定统计周期结束时,将所述预定统计周期内已统计的帧率信息,确定为当前时钟周期的帧率信息;

所述将所述参数信息发送给所述云端服务器,以使得所述云端服务器对所述参数信息进行分析,得到所述应用程序的运行性能分析结果,具体包括:

将所述帧率信息发送给所述云端服务器,以使得所述云端服务器根据所述帧率信息统计所述应用程序的运行卡顿情况,并在所述应用程序在运行过程中存在卡顿时,对所述应用程序进行卡顿优化。

b17、如b10所述的方法,所述根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息,具体包括:

通过调用预设传感器接口函数采集应用程序在运行过程中访问传感器的传感器使用信息;

所述将所述参数信息发送给所述云端服务器,以使得所述云端服务器对所述参数信息进行分析,得到所述应用程序的运行性能分析结果,具体包括:

将所述传感器使用信息发送给所述云端服务器,以使得所述云端服务器根据所述传感器信息统计所述应用程序的传感器使用率,并在所述传感器使用率大于或者等于预设传感器使用率阈值时,对所述应用程序进行传感器访问优化。

b18、如b10所述的方法,所述根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息,具体包括:

通过调用预设电量信息确定策略统计应用程序在运行过程中所消耗的电量信息;

所述将所述参数信息发送给所述云端服务器,以使得所述云端服务器对所述参数信息进行分析,得到所述应用程序的运行性能分析结果,具体包括:

将所述电量信息发送给所述云端服务器,以使得所述云端服务器根据所述电量信息统计所述应用程序的电量消耗排行榜单,并根据所述电量消耗排行榜单,对大于或者预设电量消耗阈值的电量消耗进行优化。

b19、如b10所述的方法,所述根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息,具体包括:

通过调用预设文件目录接口函数监控应用程序在运行过程中所使用的文件信息;

所述将所述参数信息发送给所述云端服务器,以使得所述云端服务器对所述参数信息进行分析,得到所述应用程序的运行性能分析结果,具体包括:

将所述文件信息发送给所述云端服务器,以使得所述云端服务器根据所述文件信息统计所述应用程序的磁盘使用率,并在所述磁盘使用率大于或者等于预设磁盘使用率阈值时,对所述应用程序进行文件访问优化。

b20、如b10所述的方法,所述根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息包括:

调用预设cpu使用信息接口函数获取应用程序在运行过程中的cpu使用信息;

所述将所述参数信息发送给所述云端服务器,以使得所述云端服务器对所述参数信息进行分析,得到所述应用程序的运行性能分析结果,具体包括:

将所述cpu使用信息发送给所述云端服务器,以使得所述云端服务器根据所述cpu使用信息统计所述应用程序的cpu使用率,并在所述cpu使用率大于或者等于预设cpu使用率阈值时,对所述应用程序进行cpu使用优化。

c21、一种云端服务器,包括:

发送单元,用于向移动终端下发参数信息获取逻辑,以使得所述移动终端根据所述获取逻辑采集相应的应应用程序在运行过程中的参数信息;

分析单元,用于对所述移动终端反馈的参数信息进行分析,得到所述应用程序的运行性能分析结果;

优化单元,用于根据所述分析单元得到的性能分析结果对应用程序的运行性能进行优化。

c22、如c21所述的云端服务器,

所述分析单元,具体用于根据所述移动终端反馈的activity组件启动耗时信息,统计所述应用程序的各个activity组件生命周期耗时排行榜单,所述activity组件启动耗时信息是根据在移动终端的内存临时生存的动态代理类的耗时信息采集接口函数采集的,或者根据通过面向切向编程方式修改的动态代理类的耗时信息采集接口函数采集的;

所述优化单元,具体用于根据所述耗时排行榜单,对生命周期耗时信息大于或者等于预设耗时阈值的activity组件进行耗时优化。

c23、如c21所述的云端服务器,

所述分析单元,具体用于根据所述移动终端反馈的网络访问信息,统计所述应用程序的网络访问排行榜单,所述网络访问信息是对以面向切向编程方式静态切入到网络访问接口函数的调用信息进行分析得到的;

所述优化单元,具体用于根据所述网络访问排行榜单,对网络流量大于或者等于预设流量阈值的网络访问进行访问优化。

c24、如c21所述的云端服务器,

所述分析单元,具体用于根据所述移动终端反馈的内存占用信息,统计所述应用程序的内存占用排行榜单,所述内存占用信息是根据应用程序进程的内存使用信息以及所述应用程序进程的总物理内存数量确定的;

所述优化单元,具体用于根据所述内存使用排行榜单,对内存占用率大于或者等于预设内存占用率阈值的进程进行内存优化。

c25、如c21所述的云端服务器,

所述分析单元,具体用于根据所述移动终端反馈的当前时钟周期的帧率信息,统计所述应用程序的运行卡顿情况,所述帧率信息是在读取到显示系统绘制的回调信息时,对预定统计周期内已统计的帧率信息进行累计,并在所述预定统计周期结束时,根据所述预定统计周期内已统计的帧率信息确定的;

所述优化单元,具体用于若所述应用程序在运行过程中存在卡顿,则对所述应用程序进行卡顿优化。

c26、如c21所述的云端服务器,

所述分析单元,具体用于根据所述移动终端反馈的传感器使用信息,统计所述应用程序的传感器使用率,所述传感器使用信息是通过调用预设传感器接口函数采集的;

所述优化单元,具体用于若所述传感器使用率大于或者等于预设传感器使用率阈值,则对所述应用程序进行传感器访问优化。

c27、如c21所述的云端服务器,

所述分析单元,具体用于根据所述移动终端反馈的电量信息,统计所述应用程序的电量消耗排行榜单,所述电量信息是通过调用预设电量信息确定策略采集的;

所述优化单元,具体用于根据所述电量消耗排行榜单,对大于或者预设电量消耗阈值的电量消耗进行优化。

c28、如c21所述的云端服务器,

所述分析单元,具体用于根据所述移动终端反馈的文件信息,统计所述应用程序的磁盘使用率,所述文件信息是通过调用预设文件目录接口函数监控的;

所述优化单元,具体用于若所述磁盘使用率大于或者等于预设磁盘使用率阈值,则对所述应用程序进行文件访问优化。

c29、如c21所述的云端服务器,

所述分析单元,具体用于根据所述移动终端反馈的cpu使用信息,统计所述应用程序的cpu使用率,所述cpu使用信息是通过调用预设cpu使用信息接口函数采集的;

所述优化单元,具体用于若所述cpu使用率大于或者等于预设cpu使用率阈值,则对所述应用程序进行cpu使用优化。

d30、一种移动终端,包括:

接收单元,用于接收云端服务器下发的参数信息获取逻辑;

采集单元,用于根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息;

发送单元,用于将所述参数信息发送给所述云端服务器,以使得所述云端服务器对所述参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。

d31、如d30所述的移动终端,

所述采集单元,具体用于在移动终端的内存中临时生成动态代理类,并根据所述动态代理类的耗时信息采集接口函数采集activity组件启动耗时信息。

d32、如d30所述的移动终端,

所述采集单元,具体用于通过面向切向编程方式修改动态代理类的耗时信息采集接口函数,并根据修改的耗时信息采集接口函数采集activity组件启动耗时信息。

d33、如d30所述的移动终端,

所述发送单元,具体用于将所述启动耗时信息发送给所述云端服务器,以使得所述云端服务器根据所述启动耗时信息统计出各个activity组件生命周期耗时信息情况,并对生命周期耗时信息大于或者等于预设耗时阈值的activity组件进行耗时优化。

d34、如d30所述的移动终端,

所述采集单元,具体用于以面向切向编程方式静态切入到网络访问接口函数,获取所述网络访问接口函数的调用信息;并对所述调用信息进行分析,获取相应的应用程序在运行过程中的网络访问信息;

所述发送单元,具体用于将所述网络访问信息发送给所述云端服务器,以使得所述云端服务器根据所述网络访问信息统计所述应用程序的网络访问排行榜单,并根据所述网络访问排行榜单对网络流量大于或者等于预设流量阈值的网络访问进行访问优化。

d35、如d30所述的移动终端,

所述采集单元,具体用于获取相应的应用程序进程的内存使用信息以及所述应用程序进程的总物理内存数量,并根据所述内存使用信息和所述总物理内存数量,确定所述应用程序进程的内存占用信息;

所述发送单元,具体用于将所述内存占用信息发送给所述云端服务器,以使得所述云端服务器根据所述内存占用信息统计所述应用程序的内存占用排行榜单,并根据所述内存使用排行榜单对内存占用率大于或者等于预设内存占用率阈值的进程进行内存优化。

d36、如d30所述的移动终端,,

所述采集单元,具体用于在读取到显示系统绘制的回调信息时,对预定统计周期内已统计的帧率信息进行累计,并在所述预定统计周期结束时,将所述预定统计周期内已统计的帧率信息,确定为当前时钟周期的帧率信息;

所述发送单元,具体用于将所述帧率信息发送给所述云端服务器,以使得所述云端服务器根据所述帧率信息统计所述应用程序的运行卡顿情况,并在所述应用程序在运行过程中存在卡顿时,对所述应用程序进行卡顿优化。

d37、如d30所述的移动终端,

所述采集单元,具体用于通过调用预设传感器接口函数采集应用程序在运行过程中访问传感器的传感器使用信息;

所述发送单元,具体用于将所述传感器使用信息发送给所述云端服务器,以使得所述云端服务器根据所述传感器信息统计所述应用程序的传感器使用率,并在所述传感器使用率大于或者等于预设传感器使用率阈值时,对所述应用程序进行传感器访问优化。

d38、如d30所述的移动终端,

所述采集单元,具体用于通过调用预设电量信息确定策略统计应用程序在运行过程中所消耗的电量信息;

所述发送单元,具体用于将所述电量信息发送给所述云端服务器,以使得所述云端服务器根据所述电量信息统计所述应用程序的电量消耗排行榜单,并根据所述电量消耗排行榜单,对大于或者预设电量消耗阈值的电量消耗进行优化。

d39、如d30所述的移动终端,

所述采集单元,具体用于通过调用预设文件目录接口函数监控应用程序在运行过程中所使用的文件信息;

所述发送单元,具体用于将所述文件信息发送给所述云端服务器,以使得所述云端服务器根据所述文件信息统计所述应用程序的磁盘使用率,并在所述磁盘使用率大于或者等于预设磁盘使用率阈值时,对所述应用程序进行文件访问优化。

d40、如d30所述的移动终端,

所述采集单元,具体用于调用预设cpu使用信息接口函数获取应用程序在运行过程中的cpu使用信息;

所述发送单元,具体用于将所述cpu使用信息发送给所述云端服务器,以使得所述云端服务器根据所述cpu使用信息统计所述应用程序的cpu使用率,并在所述cpu使用率大于或者等于预设cpu使用率阈值时,对所述应用程序进行cpu使用优化。

e41、一种应用程序的运行性能分析系统,包括如21-29任一项所述的云端服务器和如30-40任一项所述的移动终端。

f42、一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:

向移动终端下发参数信息获取逻辑,以使得所述移动终端根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息;

对所述移动终端反馈的参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。

g43、一种云端服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

向移动终端下发参数信息获取逻辑,以使得所述移动终端根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息;

对所述移动终端反馈的参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。

h44、一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:

接收云端服务器下发的参数信息获取逻辑;

根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息,并将所述参数信息发送给所述云端服务器,以使得所述云端服务器对所述参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。

l45、一种移动终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:

接收云端服务器下发的参数信息获取逻辑;

根据所述获取逻辑采集相应的应用程序在运行过程中的参数信息,并将所述参数信息发送给所述云端服务器,以使得所述云端服务器对所述参数信息进行分析,得到所述应用程序的运行性能分析结果,并根据所述性能分析结果对应用程序的运行性能进行优化。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的应用程序的运行性能分析装置及系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1