一种应用程序安装包的确定方法及系统技术方案

技术编号:24852302 阅读:46 留言:0更新日期:2020-07-10 19:06
本申请提供了一种应用程序安装包的确定方法及系统,属于iOS移动应用开发领域。本申请通过获取应用程序安装包中未被静态调用的目标程序对象;在所述目标程序对象中插入打点代码,所述打点代码用于在应用程序的运行过程中,记录所述目标程序对象的实际调用情况,所述实际调用情况包括被动态调用或未被动态调用;根据所述目标程序对象在预设历史时期内的实际调用情况,确定出目标程序对象中未被动态调用过的冗余程序对象;删除所述应用程序安装包中的所述冗余程序对象。采用本申请提供的技术方案,可以准确定位应用程序安装包中的冗余程序对象。

【技术实现步骤摘要】
一种应用程序安装包的确定方法及系统
本申请涉及iOS移动应用开发
,特别是涉及一种应用程序安装包的确定方法及系统。
技术介绍
随着应用程序(Application,App)中部分功能的下线,用于实现部分功能的程序对象也不会被调用,其中,程序对象包括类和/或方法。由于应用程序安装包的容量越小,用户下载和更新应用程序的意愿越强,因此,在开发新版本的应用程序安装包时,需要查找应用程序安装包中不会被调用的冗余程序对象,删除冗余程序对象,以减小应用程序安装包的容量。相关技术中,针对应用程序安装包,电子设备可以生成linkmap(链接图)文件,linkmap文件中记录有该应用程序安装包所包含的全部程序对象。电子设备还可以基于应用程序安装包打包处理后生成的二进制文件,确定该应用程序安装包中被静态调用的程序对象。然后,电子设备可以在全部程序对象中确定除被静态调用的程序对象之外的程序对象,得到不再被调用的冗余程序对象。之后,电子设备可以删除冗余程序对象,以减小应用程序安装包的容量。然而,在应用程序的运行过程中,程序对象除被静态调用外,还可能被动态调本文档来自技高网...

【技术保护点】
1.一种应用程序安装包的确定方法,其特征在于,所述方法包括:/n获取应用程序安装包中未被静态调用的目标程序对象;/n在所述目标程序对象中插入打点代码,所述打点代码用于在应用程序的运行过程中,记录所述目标程序对象的实际调用情况,所述实际调用情况包括被动态调用或未被动态调用;/n根据所述目标程序对象在预设历史时期内的实际调用情况,确定出所述目标程序对象中未被动态调用过的冗余程序对象;/n删除所述应用程序安装包中的所述冗余程序对象。/n

【技术特征摘要】
1.一种应用程序安装包的确定方法,其特征在于,所述方法包括:
获取应用程序安装包中未被静态调用的目标程序对象;
在所述目标程序对象中插入打点代码,所述打点代码用于在应用程序的运行过程中,记录所述目标程序对象的实际调用情况,所述实际调用情况包括被动态调用或未被动态调用;
根据所述目标程序对象在预设历史时期内的实际调用情况,确定出所述目标程序对象中未被动态调用过的冗余程序对象;
删除所述应用程序安装包中的所述冗余程序对象。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对每个目标程序对象,获取多个用户终端分别运行所述应用程序的过程中该目标程序对象的实际调用情况,得到与该目标程序对象对应的多个实际调用情况;
所述根据所述目标程序对象在预设历史时期内的实际调用情况,确定出所述目标程序对象中未被动态调用过的冗余程序对象,包括:
将对应的多个实际调用情况均为未被动态调用的目标程序对象,作为未被动态调用过的冗余程序对象。


3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
针对每个目标程序对象,在与该目标程序对象对应的多个实际调用情况中,确定包括被动态调用的实际调用情况的数量;
根据所述数量和所述用户终端的总数量,计算该目标程序对象的用户使用率,得到各目标程序对象的用户使用率;
确定用户使用率未达到预设用户使用率阈值的目标程序对象;
在所述应用程序安装包中删除确定出的目标程序对象。


4.根据权利要求1所述的方法,其特征在于,所述获取应用程序安装包中未被静态调用的目标程序对象,包括:
获取所述应用程序安装包所包含的全部程序对象;
基于所述应用程序安装包打包处理后生成的二进制文件,确定被静态调用的程序对象;
将所述全部程序对象和所述被静态调用的...

【专利技术属性】
技术研发人员:冀睿哲杨子斌王仕俊
申请(专利权)人:北京奇艺世纪科技有限公司
类型:发明
国别省市:北京;11

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

1