CN112559294A - 一种应用页面资源消耗的确定方法和装置 - Google Patents

一种应用页面资源消耗的确定方法和装置 Download PDF

Info

Publication number
CN112559294A
CN112559294A CN202011527112.4A CN202011527112A CN112559294A CN 112559294 A CN112559294 A CN 112559294A CN 202011527112 A CN202011527112 A CN 202011527112A CN 112559294 A CN112559294 A CN 112559294A
Authority
CN
China
Prior art keywords
page
resource
information
target
resource occupation
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.)
Pending
Application number
CN202011527112.4A
Other languages
English (en)
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.)
Zhengzhou Apas Technology Co ltd
Original Assignee
Zhengzhou Apas Technology 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 Zhengzhou Apas Technology Co ltd filed Critical Zhengzhou Apas Technology Co ltd
Priority to CN202011527112.4A priority Critical patent/CN112559294A/zh
Publication of CN112559294A publication Critical patent/CN112559294A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种应用页面资源消耗的确定方法和装置,该方法包括:运行目标应用,目标应用中包括多个页面;针对任一页面,在切换显示该页面时,启动监控目标应用的资源占用情况和资源使用情况;在退出显示该页面时,基于在切换显示页面到退出显示页面的过程中监控到的资源占用情况和资源使用情况,统计得到该页面的资源占用信息和资源使用信息;将多个页面各自的资源占用信息和资源使用信息展示给用户。从切换显示应用页面到退出显示应用页面的过程中,通过对应用的资源占用情况进行监控,可以自动分析出应用页面的资源占用信息,进而快速定位高耗能的页面;此外,通过监控资源应用的使用情况,还可以为关闭高耗能页面和应用优化提供有效依据。

Description

一种应用页面资源消耗的确定方法和装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用页面资源消耗的确定方法和装置。
背景技术
通常,应用中可以包括多个用于承载不同功能单元或场景的页面(或界面),由于不同页面的逻辑复杂度和实现代码复杂度通常存在差异,因此不同页面的资源占用不同。这样,在对应用的整体性能进行优化时,需要定位应用中资源消耗较高的页面,以便优先对这些页面进行优化。
目前,在定位应用中资源消耗较高的页面时,通常是人为地判断每个页面的资源占用情况,并根据判断结果确定哪些页面的资源消耗较高。然而,这种方法的实际耗时较长,且判断结果带有主观性,往往不能准确定位资源消耗较高的页面,进而无法进行针对性优化。
发明内容
本申请实施例提供一种应用页面资源消耗的确定方法和装置,用于解决目前在对应用的整体性能进行优化的场景中,无法定位应用中哪些页面的资源消耗较高的问题。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,提出一种应用中页面资源消耗的确定方法,包括:
运行目标应用,所述目标应用中包括多个页面;
针对所述多个页面中的任一页面,在切换显示所述页面时,启动监控所述目标应用的资源占用情况和资源使用情况;
在退出显示所述页面时,基于在切换显示所述页面到退出显示所述页面的过程中监控到的资源占用情况和资源使用情况,统计得到所述页面的资源占用信息和资源使用信息;
将所述多个页面各自的资源占用信息和资源使用信息展示给用户。
第二方面,提出一种应用中页面资源消耗的确定装置,包括:
运行单元,运行目标应用,所述目标应用中包括多个页面;
监控单元,针对所述多个页面中的任一页面,在切换显示所述页面时,启动监控所述目标应用的资源占用情况和资源使用情况;
统计单元,在退出显示所述页面时,基于在切换显示所述页面到退出显示所述页面的过程中监控到的资源占用情况和资源使用情况,统计得到所述页面的资源占用信息和资源使用信息;
展示单元,将所述多个页面各自的资源占用信息和资源使用信息展示给用户。
第三方面,提出一种电子设备,该电子设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:
运行目标应用,所述目标应用中包括多个页面;
针对所述多个页面中的任一页面,在切换显示所述页面时,启动监控所述目标应用的资源占用情况和资源使用情况;
在退出显示所述页面时,基于在切换显示所述页面到退出显示所述页面的过程中监控到的资源占用情况和资源使用情况,统计得到所述页面的资源占用信息和资源使用信息;
将所述多个页面各自的资源占用信息和资源使用信息展示给用户。
第四方面,提出一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下方法:
运行目标应用,所述目标应用中包括多个页面;
针对所述多个页面中的任一页面,在切换显示所述页面时,启动监控所述目标应用的资源占用情况和资源使用情况;
在退出显示所述页面时,基于在切换显示所述页面到退出显示所述页面的过程中监控到的资源占用情况和资源使用情况,统计得到所述页面的资源占用信息和资源使用信息;
将所述多个页面各自的资源占用信息和资源使用信息展示给用户。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
在确定目标应用中每个页面的资源消耗情况时,运行目标应用,针对目标应用中的任一页面,在切换显示该页面时,启动监控目标应用的资源占用情况和资源使用情况,在退出显示该页面时,基于在切换显示该页面到退出显示该页面的过程中监控到的资源占用情况和资源使用情况,统计得到该页面的资源占用信息和资源使用信息,由此可以得到目标应用中多个页面各自的资源占用信息和资源使用信息,之后,可以将这些信息展示给用户。这样,从切换显示应用页面到退出显示应用页面的过程中,通过对应用的资源占用情况进行监控,可以自动分析出应用页面的资源占用信息,效率较高,进而可以快速定位高耗能的页面。
此外,由于在监控时还对应用的资源使用情况进行了监控,并在信息展示时,同时将多个页面各自的资源使用信息展示给用户,因此,可以便于用户基于展示的资源使用信息确定影响页面耗能的因素,为后续关闭高耗能页面和应用优化提供了有效依据。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的一个实施例应用页面资源消耗的确定方法的流程示意图;
图2是本申请的一个实施例CPU占用情况的监控结果的示意图;
图3是本申请的一个实施例内存占用情况的监控结果的示意图;
图4是本申请的一个实施例IPC调用情况的监控结果的示意图;
图5是本申请的一个实施例应用页面资源消耗的确定方法的流程示意图;
图6是本申请的一个实施例电子设备的结构示意图;
图7是本申请的一个实施例应用页面资源消耗的确定装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
应用一般由多个不同的页面组成,不同的页面可以承载不同的功能单元或场景。通常,应用中的不同页面可以由不同的开发人员进行协作开发,由于开发人员之间的能力差异以及不同页面的逻辑复杂度不同,因此,不同页面的实现代码复杂度也不同,进而导致不同页面的性能消耗不同。有鉴于此,在需要对应用的性能进行优化时,往往需要定位性能的瓶颈,即定位应用中哪些页面比较耗能,并优先对这些页面进行优化。
然而,在使用现有的方法对应用进行性能检测时,仅可以输出应用整体的系统资源占用数据,无法确定应用中每个页面单独的资源占用情况。而目前在确定每个页面单独的资源占用情况时,往往由开发人员根据资源占用变化曲线和应用页面切换情况,人为地判断哪些页面比较耗能。但是,这种方法的耗时比较长,判断结果依赖于开发人员的技术水平,具有主观性,且在整个过程中开发人员的操作比较复杂,同一时间只能监控一个指标,导致无法快速准确的定位哪些页面的性能消耗较高,进而无法对高耗能的页面进行针对性优化。
有鉴于此,本申请实施例提供一种应用页面资源消耗的确定方法和装置,该方法包括:运行目标应用,所述目标应用中包括多个页面;针对所述多个页面中的任一页面,在切换显示所述页面时,启动监控所述目标应用的资源占用情况和资源使用情况;在退出显示所述页面时,基于在切换显示所述页面到退出显示所述页面的过程中监控到的资源占用情况和资源使用情况,统计得到所述页面的资源占用信息和资源使用信息;将所述多个页面各自的资源占用信息和资源使用信息展示给用户。
这样,从切换显示应用页面到退出显示应用页面的过程中,通过对应用的资源占用情况进行监控,可以自动分析出应用页面的资源占用信息,效率较高,进而可以快速定位高耗能的页面。此外,由于在监控时还对应用的资源使用情况进行了监控,并在信息展示时,同时将多个页面各自的资源使用信息展示给用户,因此,可以便于用户基于展示的资源使用信息确定影响页面耗能的因素,为后续关闭高耗能页面和应用优化提供了有效依据。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1是本申请的一个实施例应用页面资源消耗的确定方法的流程示意图。所述方法如下所述。
S102:运行目标应用,所述目标应用中包括多个页面。
在确定目标应用中页面的资源消耗情况时,可以运行目标应用。本实施例中,目标应用中包括多个页面,该多个页面的逻辑复杂度和代码复杂度可以各不相同,且各自的资源消耗情况也可以不同。
需要说明的是,本实施例在确定目标应用中每个页面的资源消耗情况时,具体实现方式相同,因此,本实施例仅以其中一个页面为例,通过以下步骤说明如何确定一个页面的资源消耗情况。
S104:针对所述多个页面中的任一页面,在切换显示所述页面时,启动监控所述目标应用的资源占用情况和资源使用情况。
S106:在退出显示所述页面时,基于在切换显示所述页面到退出显示所述页面的过程中监控到的资源占用情况和资源使用情况,统计得到所述页面的资源占用信息和资源使用信息。
本实施例中,针对任一页面而言,切换显示该页面可以理解为在目标应用运行的过程中,由其他页面切换显示到该页面,退出显示该页面可以理解为由该页面切换到其他页面或退出目标应用。
在一种实现方式中,针对目标应用中的任一页面,为了便于确定何时切换显示页面和何时退出显示页面,可以预先声明目标应用中每个页面的周期变化。这样,在运行目标应用时,可以监控预先声明的目标应用中每个页面的周期变化(即监控目标应用中多个页面的声明周期变化),基于监控结果可以确定得到目标应用中每个页面的切换显示时间和退出显示时间,进而确定何时切换显示页面,何时退出显示页面。
比如,在运行目标应用的过程中,工作人员可以启动运行目标应用,此时可以监控针对目标应用中每个页面预先声明的周期变化。这样,在工作人员操作目标应用的过程中,在进入到一个页面时,就可以基于监控的时间确定切换显示该页面,同样的,在工作人员操作目标应用退出该页面时,可以基于监控的时间确定退出显示该页面。
本实施例中,在确定切换显示某个页面时,可以启动监控目标应用的资源占用情况和资源使用情况。其中,资源占用情况可以是对CPU资源和/或内存资源的占用情况,资源使用情况可以理解为对CPU资源和/或内存资源的使用情况。本实施例中,对资源使用情况进行监控即监控哪些对象消耗了资源,优选地,该资源使用情况具体可以包括进程间通信(IPC,Inter-Process Communication)调用情况,应用程序编程接口(API,ApplicationProgramming Interface)调用情况、网络请求情况(即是否进行了网络请求)和垃圾回收(GC,Garbage Collector)情况中的至少一种。
由于本实施例在进行监控时,可以对资源占用情况和资源使用情况同时进行监控,因此,相较于现有技术中人为进行监控时只能同一时间对一个指标进行监控,本实施例可以提高监控效率,进而在确定页面的资源消耗情况时,可以节省时间。
本实施例在监控目标应用的资源占用情况时,可以按照设定频率进行查询,该设定频率比如可以是每秒查询一次,也可以根据实际情况进行设置,这里不做具体限定。
在一种实现方式中,若资源占用情况中包括对CPU资源的占用情况,则在监控目标应用的资源占用情况时,可以使用命令“adb shell top|grep<应用包名>”查询目标应用的CPU占用情况,其中,该命令中的<应用包名>为目标应用的包名。
图2是本申请的一个实施例CPU占用情况的监控结果的示意图。
图2是使用命令“adb shell top|grep<com.shsp.cleanmaster>”对应用包名为“com.shsp.cleanmaster”目标应用占用的CPU进行查询后得到的查询结果,该查询结果中包括5行数据,这5行数据为该目标应用对应的5个进程的CPU占用情况,第一列为进程号(即进程ID),中间框出来的一列为CPU占用率,最后一列为进程名。
图2所示的查询结果中,由于第一行中进程名和应用包名一致,因此,可以将第一行的查询结果作为目标应用占用的CPU,由此可以得到目标应用的CPU占用率为83.3%。
在一种实现方式中,若资源占用情况中包括对内存资源的占用情况,则在监控目标应用的资源占用情况时,可以使用命令“adb shell dumpsys meminfo<进程ID>”查询目标应用的内存占用情况。其中,该命令中的<进程ID>为目标应用运行的多个进程中,进程名与目标应用的包名相同的进程的进程号。
图3是本申请的一个实施例内存占用情况的监控结果的示意图。
图3是使用命令“adb shell dumpsys meminfo<6071>”对图2所示的应用包名为“com.shsp.cleanmaster”目标应用所对应的进程ID“6071”占用的内存进行查询后得到的查询结果。
由于进程分为多个区,因此,在查询进程占用的内存时,可以查询得到图3所示的多个区各自占用的内存大小,该多个区各自占用的内存大小的总和(即图3框出来的“TOTAL148794”)即为进程占用的内存(单位为字节),该内存可以视为目标应用占用的内存。
本实施例中,在监控目标应用的资源使用情况时,可以实时地进行监控。可选地,若资源使用情况包括IPC调用情况,则可以使用命令“adb shell am trace-ipc start”进行监控,若资源使用情况包括API调用情况,则可以使用AndroidSDK里的Debug类记录目标应用的API调用。
在对资源占用情况和资源使用情况进行监控后,当退出显示页面时,可以得到在切换显示页面到退出显示页面的过程中监控得到的资源占用情况和资源使用情况。其中,监控得到的资源占用情况可以是对CPU资源和/或内存资源的占用数据,监控得到的资源使用情况可以是目标应用对CPU资源和/或内存资源的使用操作列表。
为了便于理解对资源使用情况的监控结果,这里可以以资源使用情况为IPC的调用情况为例进行说明。具体请参见图4,图4是本申请的一个实施例IPC调用情况的监控结果的示意图,图4所示的是从切换显示页面到退出显示页面的过程中目标应用进行的IPC操作记录,基于该操作记录可以确定目标应用对IPC的调用情况。
本实施例在监控得到切换显示页面到退出显示页面的过程中的资源占用情况和资源使用情况后,可以基于这些监控结果确定统计得到该页面的资源占用信息和资源使用信息。其中,基于监控得到的资源占用情况可以统计得到该页面的资源占用信息,基于监控得到的资源使用情况可以统计得到该页面的资源使用信息。
资源占用信息可以与上述资源占用情况相对应,具体可以包括CPU占用率和内存占用率中的至少一种。当然,该CPU占用率也可以替换为CPU占用大小,内存占用率也可以替换为内存占用大小,这里仅以CPU占用率和内存占用率为例进行说明。
资源使用信息可以与上述资源使用情况相对应,具体可以包括IPC调用信息、API调用信息、网络请求信息和GC信息中的至少一种。其中,IPC调用信息可以包括被调用的IPC和各IPC被调用的次数,API调用信息可以包括被调用的API、各API的用途和被调用的次数,网络请求信息可以包括网络请求次数和具体请求的哪个资源,GC信息可以包括GC次数。
在一种实现方式中,由于在对资源占用情况进行监控时,可以按照设定频率进行监控,因此,在基于监控到的资源占用情况,统计得到页面的资源占用信息时,可以获取在切换显示页面到退出显示页面的过程中,监控得到的多个资源占用数据。其中,一个资源占用数据可以对应对资源占用情况的一次监控结果,具体可以包括CPU占用数据和/内存占用数据,CPU占用数据可以如图2所示,内存占用数据可以如图3所示。
在得到多个资源占用数据后,可以基于多个资源占用数据,确定得到多个资源占用信息。其中,一个资源占用数据可以确定得到一个资源占用信息。在得到多个资源占用信息后,可以将多个资源占用信息中具有最大值的资源占用信息确定为页面的资源占用信息。
比如,若资源占用信息为CPU占用率,则可以将监控得到的多个CPU占用率中的最大CPU占用率作为页面的资源占用信息;若资源占用信息为内存占用率,则可以将监控得到的多个内存占用率中的最大内存占用率作为页面的资源占用信息;若资源占用信息为CPU占用率和内存占用率,则可以将监控得到的多个CPU占用率中的最大CPU占用率以及多个内存占用率中的最大内存占用率作为页面的资源占用信息。
在一种实现方式中,由于在对资源使用情况进行监控时,可以实时地进行监控,因此,在切换显示页面到退出显示页面的过程中对资源使用情况进行监控得到的监控记录可以视为页面的资源使用信息,该资源使用信息可以表征从切换显示该页面到退出显示该页面的过程中目标应用的资源使用情况。
可选地,在基于S104和S106得到单个页面的资源占用信息和资源使用信息后,为了提高准确度,还可以重复执行上述S104至S106,并基于重复执行得到的多个结果综合确定单个页面最终的资源占用信息和资源使用信息,以提高准确度。
本实施例中,从切换显示应用页面到退出显示应用页面的过程中,通过对应用的资源占用情况进行监控,可以自动分析出应用页面的资源占用信息,效率较高,进而可以快速定位高耗能的页面。
S108:将所述多个页面各自的资源占用信息和资源使用信息展示给用户。
本实施例中,可以基于S104和S106得到目标应用中多个页面各自的资源占用信息和资源使用信息。之后,可以将该多个页面各自的资源占用信息和资源使用信息展示给用户。其中,该用户可以是使用正在使用目标应用的用户,比如,用户在智能手机中使用该目标应用,或者,该用户也可以是目标应用的开发人员或测试人员。
在一种实现方式中,在将多个页面各自的资源占用信息和资源使用信息展示给用户时,可以基于多个页面各自的资源占用信息,从多个页面中确定一个或多个目标页面,并将目标页面的资源占用信息和资源使用信息展示给用户。其中,该目标页面可以是高耗能的页面。
在基于多个页面各自的资源占用信息确定目标页面时,具体可以分为以下几种情况:
第一种情况:在资源占用信息为CPU占用率的情况下,针对多个页面中的任一页面,若该页面的CPU占用率大于设定CPU占用率阈值,则可以将该页面确定为目标页面。设定CPU占用率阈值可以根据实际需要进行设置,这里不做具体限定。
第二种情况:在资源占用信息为内存占用率的情况下,针对多个页面中的任一页面,若该页面的内存占用率大于设定内存占用率阈值,则可以将该页面确定为目标页面。设定内存占用率阈值也可以根据实际需要进行设置,这里也不做具体限定。
第三种情况:在资源占用信息为CPU占用率和内存占用率的情况下,针对多个页面中的任一页面,若该页面的CPU占用率大于设定CPU占用率阈值,或该页面的内存占用率大于设定内存占用率阈值,则可以将该页面确定为目标页面。设定CPU占用率阈值和设定内存占用率阈值可以根据实际需要进行设置,这里不做具体限定。
也就是说,只要页面的CPU占用率和内存占用率中的至少一个大于对应的设定阈值,就可以确定页面为目标页面。
在确定目标页面,并将目标页面的资源占用信息和资源使用信息展示给用户后,针对不同的用户可以执行不同操作。
具体的,在用户为正在使用目标应用的用户的情况下,在将目标页面的资源占用信息和资源使用信息展示给用户后,用户可以基于展示的信息确定高耗能的页面以及具体是哪些信息导致页面耗能高,从而可以选择关闭其中的一个或多个页面。在用户选择关闭其中的一个或多个页面后,可以视为用户发送了页面关闭信息,该页面关闭信息用于指示关闭用户选择的一个或多个页面,此时,可以基于页面关闭信息关闭用户选择的页面。
在用户为目标应用的开发人员或测试人员的情况下,在将目标页面的资源占用信息和资源使用信息展示给用户后,用户可以基于展示的信息确定目标页面为高耗能的页面,从而可以基于目标页面的资源使用信息,对目标应用进行性能优化。也就是说,在对目标应用进行性能优化时,可以将目标页面的资源使用信息作为辅助信息,确定哪些因素导致目标页面的资源消耗高,由此可以对目标页面进行针对性优化,进而实现对目标应用的性能优化。
在一种实现方式中,若资源使用信息中包括API调用信息,且API调用信息中包括被调用的多个API,则在基于目标页面的资源使用信息,对目标页面进行性能优化时,具体实现方式可以包括:
首先,获取预先确定的多个目标API。
该多个目标API为高耗能的API。本实施例中,可以预先收集梳理出一份比较消耗性能的API清单,并将收集的API作为目标API。这些目标API通常是资源消耗类API,大致可以分为:通过系统服务获取大量数据类(比如获取所有已安装应用列表等)的API、读写磁盘文件的API、图像资源操作(比如加载图片)的API等。
以下是部分目标API的示例:
Landroid/content/pm/PackageManager;->getInstalledApplications()
Landroid/content/pm/PackageManager;->getInstalledApplicationsAsUser()
Landroid/content/pm/PackageManager;->getInstalledPackages()
Landroid/content/pm/PackageManager;->getInstalledPackagesAsUser()
Ljava/lang/File;-><init>(Ljava/lang/String;)
Ljava/io/InputStream;->read()
Ljava/io/OutputStream;->write()
Landroid/graphics/BitmapFactory;->decodeByteArray()
Landroid/graphics/BitmapFactory;->decodeFile()
Landroid/graphics/BitmapFactory;->decodeFileDescriptor()
Landroid/graphics/BitmapFactory;->decodeResource()
Landroid/graphics/BitmapFactory;->decodeStream()
Landroid/graphics/BitmapFactory;->decodeResource()
其次,针对任一目标页面,可以将目标页面的资源使用信息中包括的被调用的多个API与多个目标API进行对比,确定该被调用的多个API是否命中多个目标API中的一个或多个目标API。
若命中了其中一个或多个目标API,则可以确定目标页面是因为调用了高耗能的API才导致其耗能较高,这样,可以基于命中的目标API,对目标页面进行优化,进而实现对目标应用的性能优化。
应理解,在资源使用信息包括IPC调用信息、网络请求信息或GC信息的情况下,也可以采用上述基于API调用信息对目标页面进行优化的相同或相似的方法,对目标页面进行优化,进而实现对目标应用的性能优化,这里不再一一举例说明。
本实施例中,由于在对资源占用情况进行监控时还对资源使用情况进行了监控,并在信息展示时,同时将应用中多个页面各自的资源使用信息展示给用户,因此,可以便于用户基于展示的资源使用信息确定影响页面耗能的因素,为后续关闭高耗能页面和应用优化提供了有效依据。
为了便于理解本申请实施例提供的技术方案,可以参见图5。图5是本申请的一个实施例应用页面资源消耗的确定方法的流程示意图,图5所示的实施例以资源占用情况为CPU占用情况和内存占用情况为例,以资源使用情况为API调用情况为例进行说明,图5所示的实施例包括以下步骤:
S501:运行目标应用,目标应用中包括多个页面。
S502:监控目标应用中包括的多个页面的声明周期变化。
S503:针对多个页面中的任一页面,在切换显示该页面时,启动监控目标应用的CPU占用情况、内存占用情况以及API调用情况。
S504:在退出显示该页面时,基于在切换显示该页面到退出显示该页面的过程中监控到的资源占用情况和资源使用情况,统计得到该页面的CPU占用率、内存占用率和API调用信息。
S505:基于相同的方法确定得到目标应用中多个页面各自的CPU占用率、内存占用率和API调用信息。
S506:从多个页面中确定CPU占用率大于设定CPU占用率阈值或内存占用率大于设定内存占用率阈值的目标页面。
在确定目标页面后,可以执行S507至S509,也可以执行S510至S511,这里不做具体限定。
S507:获取预先确定得到的高耗能的多个目标API。
S508:确定目标页面的API调用信息中的多个API所命中的一个或多个目标API。
S509:基于命中的目标API对目标页面进行性能优化。
S510:接收用户发送的页面关闭信息,页面关闭信息用于指示关闭目标页面中的一个或多个页面。
S511:将页面关闭信息所指示的一个或多个页面关闭。
上述S501至S511的具体实现方式可以参见图1所示实施例中相应步骤的具体实现,这里不再详细说明。
本申请实施例提供的技术方案在确定目标应用中每个页面的资源消耗情况时,运行目标应用,针对目标应用中的任一页面,在切换显示该页面时,启动监控目标应用的资源占用情况和资源使用情况,在退出显示该页面时,基于在切换显示该页面到退出显示该页面的过程中监控到的资源占用情况和资源使用情况,统计得到该页面的资源占用信息和资源使用信息,由此可以得到目标应用中多个页面各自的资源占用信息和资源使用信息,之后,可以将这些信息展示给用户。这样,从切换显示应用页面到退出显示应用页面的过程中,通过对应用的资源占用情况进行监控,可以自动分析出应用页面的资源占用信息,效率较高,进而可以快速定位高耗能的页面。
此外,由于在监控时还对应用的资源使用情况进行了监控,并在信息展示时,同时将多个页面各自的资源使用信息展示给用户,因此,可以便于用户基于展示的资源使用信息确定影响页面耗能的因素,为后续关闭高耗能页面和应用优化提供了有效依据。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
图6是本申请的一个实施例电子设备的结构示意图。请参考图6,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成应用页面资源消耗的确定装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
运行目标应用,所述目标应用中包括多个页面;
针对所述多个页面中的任一页面,在切换显示所述页面时,启动监控所述目标应用的资源占用情况和资源使用情况;
在退出显示所述页面时,基于在切换显示所述页面到退出显示所述页面的过程中监控到的资源占用情况和资源使用情况,统计得到所述页面的资源占用信息和资源使用信息;
将所述多个页面各自的资源占用信息和资源使用信息展示给用户。
上述如本申请图6所示实施例揭示的应用页面资源消耗的确定装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1和图5的方法,并实现应用页面资源消耗的确定装置在图1和图5所示实施例中的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1和图5所示实施例的方法,并具体用于执行以下操作:
运行目标应用,所述目标应用中包括多个页面;
针对所述多个页面中的任一页面,在切换显示所述页面时,启动监控所述目标应用的资源占用情况和资源使用情况;
在退出显示所述页面时,基于在切换显示所述页面到退出显示所述页面的过程中监控到的资源占用情况和资源使用情况,统计得到所述页面的资源占用信息和资源使用信息;
将所述多个页面各自的资源占用信息和资源使用信息展示给用户。
图7是本申请的一个实施例应用页面资源消耗的确定装置70的结构示意图。请参考图7,在一种软件实施方式中,所述应用页面资源消耗的确定装置70可包括:运行单元71、监控单元72、统计单元73和展示单元74,其中:
运行单元71,运行目标应用,所述目标应用中包括多个页面;
监控单元72,针对所述多个页面中的任一页面,在切换显示所述页面时,启动监控所述目标应用的资源占用情况和资源使用情况;
统计单元73,在退出显示所述页面时,基于在切换显示所述页面到退出显示所述页面的过程中监控到的资源占用情况和资源使用情况,统计得到所述页面的资源占用信息和资源使用信息;
展示单元74,将所述多个页面各自的资源占用信息和资源使用信息展示给用户。
可选地,所述资源占用信息包括CPU占用率和内存占用率中的至少一种;
所述资源使用信息包括进程间通信IPC调用信息、应用程序编程接口API调用信息、网络请求信息和垃圾回收GC信息中的至少一种。
可选地,所述监控单元72,启动监控所述目标应用的资源占用情况,包括:
按照设定频率查询所述目标应用的资源占用情况;
其中,所述统计单元73,基于在切换显示所述页面到退出显示所述页面的过程中监控到的资源占用情况,统计得到所述页面的资源占用信息,包括:
获取在切换显示所述页面到退出显示所述页面的过程中,监控得到的多个资源占用数据;
基于所述多个资源占用数据,确定得到多个资源占用信息;
将所述多个资源占用信息中具有最大值的资源占用信息确定为所述页面的资源占用信息。
可选地,所述展示单元74,将所述多个页面各自的资源占用信息和资源使用信息展示给用户,包括:
基于所述多个页面各自的资源占用信息,确定目标页面;
将所述目标页面的资源占用信息和资源使用信息展示给所述用户。
可选地,所述展示单元74,基于所述多个页面各自的资源占用信息,确定目标页面,包括以下至少一种:
在所述资源占用信息包括CPU占用率的情况下,针对所述多个页面中的任一页面,若所述页面的CPU占用率大于设定CPU占用率阈值,则将所述页面确定为目标页面;
在所述资源占用信息包括内存占用率的情况下,针对所述多个页面中的任一页面,若所述页面的内存占用率大于设定内存占用率阈值,则将所述页面确定为目标页面。
可选地,所述应用页面资源消耗的确定装置70还包括处理单元75,所述处理单元75在所述展示单元74将所述目标页面的资源占用信息和资源使用信息展示给所述用户后:
接收所述用户发送的页面关闭信息,所述页面关闭信息用于指示关闭所述目标页面中的一个或多个页面;将所述页面关闭信息所指示的一个或多个页面关闭;或,
基于所述目标页面的资源使用信息,对所述目标页面进行性能优化。
可选地,所述资源使用信息中包括API调用信息,所述API调用信息中包括被调用的多个API;
其中,所述处理单元75基于所述目标页面的资源使用信息,对所述目标页面进行性能优化,包括:
获取预先确定的多个目标API,所述多个目标API为高耗能的API;
确定所述多个API是否命中所述多个目标API中的一个或多个目标API;
若是,则基于命中的目标API,对所述目标页面进行性能优化。
本申请实施例提供的应用页面资源消耗的确定装置70还可执行图1和图5的方法,并实现应用页面资源消耗的确定装置在图1和图5所示实施例的功能,本申请实施例在此不再赘述。
总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

Claims (10)

1.一种应用页面资源消耗的确定方法,其特征在于,包括:
运行目标应用,所述目标应用中包括多个页面;
针对所述多个页面中的任一页面,在切换显示所述页面时,启动监控所述目标应用的资源占用情况和资源使用情况;
在退出显示所述页面时,基于在切换显示所述页面到退出显示所述页面的过程中监控到的资源占用情况和资源使用情况,统计得到所述页面的资源占用信息和资源使用信息;
将所述多个页面各自的资源占用信息和资源使用信息展示给用户。
2.如权利要求1所述的方法,其特征在于,
所述资源占用信息包括CPU占用率和内存占用率中的至少一种;
所述资源使用信息包括进程间通信IPC调用信息、应用程序编程接口API调用信息、网络请求信息和垃圾回收GC信息中的至少一种。
3.如权利要求1所述的方法,其特征在于,启动监控所述目标应用的资源占用情况,包括:
按照设定频率查询所述目标应用的资源占用情况;
其中,基于在切换显示所述页面到退出显示所述页面的过程中监控到的资源占用情况,统计得到所述页面的资源占用信息,包括:
获取在切换显示所述页面到退出显示所述页面的过程中,监控得到的多个资源占用数据;
基于所述多个资源占用数据,确定得到多个资源占用信息;
将所述多个资源占用信息中具有最大值的资源占用信息确定为所述页面的资源占用信息。
4.如权利要求1所述的方法,其特征在于,将所述多个页面各自的资源占用信息和资源使用信息展示给用户,包括:
基于所述多个页面各自的资源占用信息,确定目标页面;
将所述目标页面的资源占用信息和资源使用信息展示给所述用户。
5.如权利要求4所述的方法,其特征在于,基于所述多个页面各自的资源占用信息,确定目标页面,包括以下至少一种:
在所述资源占用信息包括CPU占用率的情况下,针对所述多个页面中的任一页面,若所述页面的CPU占用率大于设定CPU占用率阈值,则将所述页面确定为目标页面;
在所述资源占用信息包括内存占用率的情况下,针对所述多个页面中的任一页面,若所述页面的内存占用率大于设定内存占用率阈值,则将所述页面确定为目标页面。
6.如权利要求4所述的方法,其特征在于,在将所述目标页面的资源占用信息和资源使用信息展示给所述用户后,所述方法还包括:
接收所述用户发送的页面关闭信息,所述页面关闭信息用于指示关闭所述目标页面中的一个或多个页面;将所述页面关闭信息所指示的一个或多个页面关闭;或,
基于所述目标页面的资源使用信息,对所述目标页面进行性能优化。
7.如权利要求6所述的方法,其特征在于,所述资源使用信息中包括API调用信息,所述API调用信息中包括被调用的多个API;
其中,基于所述目标页面的资源使用信息,对所述目标页面进行性能优化,包括:
获取预先确定的多个目标API,所述多个目标API为高耗能的API;
确定所述多个API是否命中所述多个目标API中的一个或多个目标API;
若是,则基于命中的目标API,对所述目标页面进行性能优化。
8.一种应用页面资源消耗的确定装置,其特征在于,包括:
运行单元,运行目标应用,所述目标应用中包括多个页面;
监控单元,针对所述多个页面中的任一页面,在切换显示所述页面时,启动监控所述目标应用的资源占用情况和资源使用情况;
统计单元,在退出显示所述页面时,基于在切换显示所述页面到退出显示所述页面的过程中监控到的资源占用情况和资源使用情况,统计得到所述页面的资源占用信息和资源使用信息;
展示单元,将所述多个页面各自的资源占用信息和资源使用信息展示给用户。
9.一种电子设备,其特征在于,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,该可执行指令在被执行时使该处理器执行以下操作:
运行目标应用,所述目标应用中包括多个页面;
针对所述多个页面中的任一页面,在切换显示所述页面时,启动监控所述目标应用的资源占用情况和资源使用情况;
在退出显示所述页面时,基于在切换显示所述页面到退出显示所述页面的过程中监控到的资源占用情况和资源使用情况,统计得到所述页面的资源占用信息和资源使用信息;
将所述多个页面各自的资源占用信息和资源使用信息展示给用户。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下方法:
运行目标应用,所述目标应用中包括多个页面;
针对所述多个页面中的任一页面,在切换显示所述页面时,启动监控所述目标应用的资源占用情况和资源使用情况;
在退出显示所述页面时,基于在切换显示所述页面到退出显示所述页面的过程中监控到的资源占用情况和资源使用情况,统计得到所述页面的资源占用信息和资源使用信息;
将所述多个页面各自的资源占用信息和资源使用信息展示给用户。
CN202011527112.4A 2020-12-22 2020-12-22 一种应用页面资源消耗的确定方法和装置 Pending CN112559294A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011527112.4A CN112559294A (zh) 2020-12-22 2020-12-22 一种应用页面资源消耗的确定方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011527112.4A CN112559294A (zh) 2020-12-22 2020-12-22 一种应用页面资源消耗的确定方法和装置

Publications (1)

Publication Number Publication Date
CN112559294A true CN112559294A (zh) 2021-03-26

Family

ID=75032074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011527112.4A Pending CN112559294A (zh) 2020-12-22 2020-12-22 一种应用页面资源消耗的确定方法和装置

Country Status (1)

Country Link
CN (1) CN112559294A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114063839A (zh) * 2021-11-04 2022-02-18 上海云轴信息科技有限公司 一种大规模运维监控数据交互的方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120054466A1 (en) * 2010-08-27 2012-03-01 International Business Machines Corporation Application run-time memory optimizer
CN103577328A (zh) * 2013-11-20 2014-02-12 北京奇虎科技有限公司 一种应用的性能分析方法及装置
CN109726069A (zh) * 2018-05-07 2019-05-07 平安普惠企业管理有限公司 H5页面内存占用监测方法、装置、设备及可读存储介质
CN112069033A (zh) * 2020-09-14 2020-12-11 成都知道创宇信息技术有限公司 页面监控方法和装置、电子设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120054466A1 (en) * 2010-08-27 2012-03-01 International Business Machines Corporation Application run-time memory optimizer
CN103577328A (zh) * 2013-11-20 2014-02-12 北京奇虎科技有限公司 一种应用的性能分析方法及装置
CN109726069A (zh) * 2018-05-07 2019-05-07 平安普惠企业管理有限公司 H5页面内存占用监测方法、装置、设备及可读存储介质
CN112069033A (zh) * 2020-09-14 2020-12-11 成都知道创宇信息技术有限公司 页面监控方法和装置、电子设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李鑫等, 清华大学出版社, pages: 84 - 98 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114063839A (zh) * 2021-11-04 2022-02-18 上海云轴信息科技有限公司 一种大规模运维监控数据交互的方法及设备

Similar Documents

Publication Publication Date Title
CN109544166B (zh) 一种风险识别方法和装置
WO2022105435A1 (zh) 游戏资源数据的处理方法及装置
CN108243032B (zh) 一种服务等级信息的获取方法、装置及设备
CN108874324B (zh) 一种访问请求处理方法、装置、设备及可读存储介质
CN110061930B (zh) 一种数据流量的限制、限流值的确定方法和装置
CN109828926B (zh) 一种判断应用界面是否加载异常的方法和装置
CN109271453B (zh) 一种数据库容量的确定方法和装置
CN109246234B (zh) 一种镜像文件下载方法、装置、电子设备及存储介质
CN112559294A (zh) 一种应用页面资源消耗的确定方法和装置
CN109345081B (zh) 一种数据采集方法、装置及电子设备
CN111709748A (zh) 一种具有业务属性的交易执行方法、装置及电子设备
CN109063967B (zh) 一种风控场景特征张量的处理方法、装置及电子设备
CN110716867A (zh) 多页面跳转压力的检测方法、装置及设备
CN110647547A (zh) 消费延迟监控方法、装置、电子设备及计算机可读存储介质
CN108388982B (zh) 任务的运行方法、装置和电子设备
CN110018844B (zh) 决策触发方案的管理方法、装置和电子设备
CN114840762A (zh) 推荐内容确定方法、装置和电子设备
CN110599139B (zh) 一种区块链共识算法中的出块方法和装置
CN110750271B (zh) 服务聚合、聚合服务的执行方法、装置和电子设备
CN113485903A (zh) 一种基于hook的参数统计方法和装置
CN113392313B (zh) 目标终端业务推荐方法、装置及电子设备、存储介质
CN112101308B (zh) 一种基于语言模型的文本框的合并方法、装置及电子设备
CN111311372A (zh) 一种用户识别方法和装置
CN110163471B (zh) 一种异常识别方法和装置
CN108829732B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210326

RJ01 Rejection of invention patent application after publication