应用体积的分析方法及装置制造方法及图纸

技术编号:34854991 阅读:34 留言:0更新日期:2022-09-08 07:56
本申请公开了一种应用体积的分析方法及装置。所述方法包括:获取目标应用的目标文件,所述目标文件为用于分析所述目标应用所占的体积的文件,所述目标文件包括对象列表和符号列表,所述符号列表所占用的数据量大于所述对象列表所占用的数据量;通过并行处理获取所述对象列表与所述目标应用的文件系统的对应关系;通过并行处理获取所述对象列表与所述符号列表的对应关系;基于所述对象列表与所述目标应用的文件系统的对应关系,以及所述对象列表与所述符号列表的对应关系,确定所述目标应用的体积。的体积。的体积。

【技术实现步骤摘要】
应用体积的分析方法及装置


[0001]本申请属于计算机
,具体涉及一种应用体积的分析方法及装置。

技术介绍

[0002]随着业务的不断迭代,应用体积越来越大。然而,应用体积过大会影响用户使用体验,以及应用升级率。为了给用户提供更好的使用体验,及时分析应用体积至关重要。
[0003]现有技术中,在分析应用体积时会运用到编译应用对应的源代码时生成的指定文件。但是现有技术中往往基于串行的思想对指定文件进行分析,例如根据指定文件确定A任务和B任务,先执行A任务,在A任务执行完成之后再执行B任务,最后根据任务的执行结果确定应用体积。这种基于串行的思想分析指定文件,确定应用体积的方法存在效率较低的问题。

技术实现思路

[0004]本申请实施例提供一种应用体积的分析方法,能够解决现有技术基于串行的思想分析指定文件,确定应用体积效率较低的问题。
[0005]第一方面,本申请实施例提供了一种应用体积的分析方法,该方法包括:
[0006]获取目标应用的目标文件,所述目标文件为用于分析所述目标应用所占的体积的文件,所述目标文件包括对象列表和符号列表,所述符号列表所占用的数据量大于所述对象列表所占用的数据量;
[0007]通过并行处理获取所述对象列表与所述目标应用的文件系统的对应关系;
[0008]通过并行处理获取所述对象列表与所述符号列表的对应关系;
[0009]基于所述对象列表与所述目标应用的文件系统的对应关系,以及所述对象列表与所述符号列表的对应关系,确定所述目标应用的体积。
[0010]第二方面,本申请实施例提供了一种应用体积的分析装置,该装置包括:
[0011]获取模块,用于获取目标应用的目标文件,所述目标文件为用于分析所述目标应用所占的体积的文件,所述目标文件包括对象列表和符号列表,所述符号列表所占用的数据量大于所述对象列表所占用的数据量;
[0012]处理模块,用于通过并行处理获取所述对象列表与所述目标应用的文件系统的对应关系;通过并行处理获取所述对象列表与所述符号列表的对应关系;
[0013]确定模块,用于基于所述对象列表与所述目标应用的文件系统的对应关系,以及所述对象列表与所述符号列表的对应关系,确定所述目标应用的体积。
[0014]第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
[0015]第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
[0016]第五方面,本申请实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面所述的方法。
[0017]第六方面,本申请实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面所述的方法。
[0018]在本申请实施例中,获取目标应用的目标文件,所述目标文件为用于分析所述目标应用所占的体积的文件,所述目标文件包括对象列表和符号列表,所述符号列表所占用的数据量大于所述对象列表所占用的数据量;通过并行处理获取所述对象列表与所述目标应用的文件系统的对应关系;通过并行处理获取所述对象列表与所述符号列表的对应关系;基于所述对象列表与所述目标应用的文件系统的对应关系,以及所述对象列表与所述符号列表的对应关系,确定所述目标应用的体积。如此,在获取目标文件之后,采用并行处理的思想对目标文件进行分析,可以快速获取目标文件中对象列表与文件系统的对应关系,以及目标文件中对象列表与符号列表的对应关系,实现基于对应关系确定目标应用的体积,从而在一定程度上提高效率。
附图说明
[0019]图1是本申请实施例提供的一种应用体积的分析方法的流程图;
[0020]图2是本申请实施例提供的另一种应用体积的分析方法的流程图;
[0021]图3是本申请实施例提供的另一种应用体积的分析方法的流程图;
[0022]图4是本申请实施例提供的另一种应用体积的分析方法的流程图;
[0023]图5是本申请实施例提供的一种应用体积的分析的装置的结构框图;
[0024]图6是本申请实施例提供的一种电子设备的结构框图。
具体实施方式
[0025]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。
[0026]本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
[0027]下面结合附图,通过具体的实施例及其应用场景对本申请实施例提供的应用体积的分析方法进行详细地说明。
[0028]图1是本申请实施例提供的一种应用体积的分析方法的流程图。如图1所示,本申请实施例提供的应用体积的分析方法可以包括如下步骤:
[0029]步骤110,获取目标应用的目标文件,所述目标文件为用于分析所述目标应用所占的体积的文件,所述目标文件包括对象列表和符号列表,所述符号列表所占用的数据量大
于所述对象列表所占用的数据量;
[0030]在开发目标应用时,需要先编写目标应用对应的源代码,并对源代码进行编译、链接,最终生成一个可执行文件。由于可执行文件是目标应用的核心,且在目标应用安装包中占用体积最大,从而基于可执行文件进行分析可以确定目标应用的整体体积,以及目标应用各模块所占体积大小。
[0031]在本申请实施例中目标文件可以包括用于描述可执行文件的构造部分的指定文件。以IOS应用为例,目标文件可以为用于描述可执行文件的构造部分的链式映射文件(Link Map File)。具体地,使用XCode(用于开发Mac OS X、iOS的应用程序)可以在编译代码的过程中生成Link Map File,且Link Map File中可以描述可执行文件的构造部分,从而基于Link Map File进行分析可以确定目标应用的体积(所占空间的大小)。
[0032]对象列表可以表示对目标应用的源代码进行编译后生成的对象文件列表,对象列表中可以包括编译后的每一个对象文件的信息,例如文件名,对象文件的文件序号等。其中,目标应用的源代码中class会被编译成.o文件,引入的第三本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用体积的分析方法,其特征在于,包括:获取目标应用的目标文件,所述目标文件为用于分析所述目标应用所占的体积的文件,所述目标文件包括对象列表和符号列表,所述符号列表所占用的数据量大于所述对象列表所占用的数据量;通过并行处理获取所述对象列表与所述目标应用的文件系统的对应关系;通过并行处理获取所述对象列表与所述符号列表的对应关系;基于所述对象列表与所述目标应用的文件系统的对应关系,以及所述对象列表与所述符号列表的对应关系,确定所述目标应用的体积。2.根据权利要求1所述的方法,其特征在于,所述通过并行处理获取所述对象列表与所述目标应用的文件系统的对应关系包括:根据CPU的M个核心,将所述目标应用的文件系统分为N个文件列表,其中,N是M的整数倍,M≥2;利用所述CPU的M个核心,通过并行的方式将所述N个文件列表分别与所述对象列表进行匹配,得到所述N个文件列表与所述对象列表的对应关系。3.根据权利要求2所述的方法,其特征在于,所述对象列表包括对象文件的文件名;所述通过并行的方式将所述N个文件列表分别与所述对象列表进行匹配,得到所述N个文件列表与所述对象列表的对应关系包括:通过并行的方式将所述N个文件列表中的每一个文件列表中的文件名与所述对象列表中对象文件的文件名相匹配,得到所述对象列表中与各个文件列表中的文件名相匹配的对象文件的文件名。4.根据权利要求1所述的方法,其特征在于,所述通过并行处理获取所述对象列表与所述符号列表的对应关系包括:根据CPU的M个核心,将所述符号列表对应的数据块划分为K个数据块,其中,K是M的整数倍,M≥2;利用所述CPU的M个核心,并行处理所述K个数据块,得到K个数据块处理结果;获取所述K个数据块处理结果与所述对象列表的对应关系。5.根据权利要求4所述的方法,其特征在于,所述对象列表包括对象文件的序号;所述获取所述K个数据块处理结果与所述对象列表的对应关系包括:基于所述对象列表中的对象文件的序号,从所述K个数据块处理结...

【专利技术属性】
技术研发人员:徐基伟
申请(专利权)人:杭州隆埠科技有限公司
类型:发明
国别省市:

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

1