【技术实现步骤摘要】
一种数据处理方法、装置、电子设备及存储介质
[0001]本专利技术涉及计算机
,尤其涉及一种数据处理方法、装置、电子设备及存储介质。
技术介绍
[0002]应用程序的可执行文件所占的存储空间是影响广大用户是否会在自己的手机上安装应用程序的可执行文件的一个重要因素。
[0003]应用程序的可执行文件所占的存储空间越大,则手机下载应用程序的可执行文件需要消耗的网络流量越多,且应用程序的可执行文件所占的存储空间越大。
[0004]如此,应用程序的可执行文件所占的存储空间是影响用户增长以及用户存留的重要因素,可见,优化应用程序的可执行文件所占的存储空间是一项必要的工作。
技术实现思路
[0005]本申请示出了一种数据处理方法、装置、电子设备及存储介质。
[0006]第一方面,本申请示出了一种数据处理方法应用于后台设备,所述方法包括:
[0007]获取应用程序的源代码;
[0008]使用编译器根据所述应用程序的源代码生成所述应用程序的第一中间代码;
[0009]使用 ...
【技术保护点】
【技术特征摘要】
1.一种数据处理方法,其特征在于,应用于后台设备,所述方法包括:获取应用程序的源代码;使用编译器根据所述应用程序的源代码生成所述应用程序的第一中间代码;使用事先在所述编译器中设置的插件在所述应用程序的第一中间代码中的各个函数中分别设置统计埋点,得到所述应用程序的第二中间代码;根据所述应用程序的第二中间代码生成所述应用程序的可执行文件;所述应用程序的可执行文件中的各个函数的二进制文件中分别具有所述统计埋点;以使在用户设备运行所述应用程序的可执行文件的过程中,基于在所述应用程序的可执行文件中的各个函数的二进制文件中分别设置的统计埋点,分别检测各自对应的函数的二进制文件是否被调用;在所述应用程序的可执行文件中的至少一个函数的二进制文件被调用的情况下,向后台设备上报所述至少一个函数的函数名,进而使得所述后台设备获取所述应用程序的源代码中的各个函数的函数名,以及,统计至少一个用户设备上报的至少一个函数的函数名,并根据所述应用程序的源代码中的各个函数的函数名以及统计的至少一个用户设备上报的至少一个函数的函数名,确定所述应用程序中的无用函数。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:使用事先在所述编译器中设置的插件统计所述应用程序的源代码中的各个函数的函数名;存储所述应用程序的源代码中的各个函数的函数名和/或向外部发送所述应用程序的源代码中的各个函数的函数名。3.一种数据处理方法,其特征在于,应用于用户设备,所述方法包括:在所述用户设备运行应用程序的可执行文件的过程中,基于在所述应用程序的可执行文件中的各个函数的二进制文件中分别设置的统计埋点,分别检测各自对应的函数的二进制文件是否被调用;在所述应用程序的可执行文件中的至少一个函数的二进制文件被调用的情况下,向后台设备上报所述至少一个函数的函数名;以使所述后台设备获取所述应用程序的源代码中的各个函数的函数名,以及,统计至少一个用户设备上报的至少一个函数的函数名,并根据所述应用程序的源代码中的各个函数的函数名以及统计的至少一个用户设备上报的至少一个函数的函数名,确定所述应用程序中的无用函数;所述应用程序的可执行文件是根据所述应用程序的第二中间代码生成的,所述应用程序的第二中间代码是使用事先在编译器中设置的插件在所述应用程序的第一中间代码中的各个函数中分别设置统计埋点后得到的,所述应用程序的第一中间代码是使用编译器根据所述应用程序的源代码生成的。4.根据权利要求3所述的方法,其特征在于,所述向后台设备上报所述至少一个函数的函数名,包括:对于所述至少一个函数的函数名中的每一个函数名,确定在历史过程中是否因所述函数名所对应的函数的二进制文件被调用而向所述后台设备上报过所述函数名;在历史过程中未因所述函数名所对应的函数的二进制文件被调用而向所述后台设备上报过所述函数名的情况下,将所述函数名存储在预设日志文件中;向后台设备上报所述预设日志文件中记录的函数名。
5.一种数据处理方法,其特征在于,应用于后台设备,所述方法包括:获取所述应用程序的源代码中的各个函数的函数名,以及,统计至少一个用户设备上报的至少一个函数的函数名;其中,至少一个函数的函数名是在用户设备运行应用程序的可执行文件的过程中,在用户设备基于在所述应用程序的可执行文件中的各个函数的二进制文件中分别设置的统计埋点检测到所述应用程序的可执行文件中的至少一个函数的二进制文件被调用的情况下,向后台设备上报的;所述应用程序的可执行文件是根据所述应用程序的第二中间代码生成的,所述应用程序的第二中间代码是使用事先在编译器中设置的插件在所述应用程序的第一中间代码中的各个函数中分别设置统计埋点后得到的,所述应用程序的第一中间代码是使用编译器根据所述应用程序的源代码生成的;根据所述应用程序的源代码中的各个函数的函数名以及统计的至少一个用户设备上报的至少一个函数的函数名,确定所述应用程序中的无用函数。6.根据权利要求5所述的方法,其特征在于,所述应用程序的源代码中的各个函数的函数名是事先在使用编译器对所述应用程序的源代码编译的场景中,使用事先在所述编译器中设置的插件统计出的。7.根据权利要求5所述的方法,其特征在于,所述方法还包括:输出所述应用程序中的无用函数的函数名。8.根据权利要求5所述的方法,其特征在于,所述方法还包括:获取所述应用程序的源代码;根据所述应用程序中的无用函数的函数名,在所述应用程序的源代码中删除所述应用程序中的无用函数的代码,得到所述应用程序的剩余的源代码。9.根据权利要求8所述的方法,其特征在于,所述方法还包括:使用编译器根据所述应用程序的剩余的源代码生成所述应用程序的第三中间代码;使用事先在所述编译器中设置的插件在所述应用程序的第三中间代码中的各个函数中分别设置统计埋点,得到所述应用程序的第四中间代码;根据所述应用程序的第四中间代码生成所述应用程序的新版本的可执行文件;所述应用程序的新版本的可执行文件中的各个函数的二进制文件中分别具有所述统计埋点。10.根据权利要求9所述的方法,其特征在于,所述使用编译器根据所述应用程序的剩余的源代码生成所述应用程序的第三中间代码,包括:在所述应用程序的剩余的源代码中查找包括所述函数名的代码段;显示包括所述函数名的代码段;接收对包括所述函数名的代码段的修改操作,得到所述应用程序的修改后的源代码;根据所述应用程序的修改后的源代码生成所述应用程序的第三中间代码。11.一种数据处理装置,其特征在于,应用于后台设备,所述装置包括:第一获取模块,用于获取应用程序的源代码;第一生成模块,用于使用编译器根据所述应用程序的源代码生成所述应用程序的第一中间代码;第一设置模块,用于使用事先在所述编译器中设置的插件在所述应用程序的第一中间代码中的各个函数中分别设置统计埋点,得到所述应用程序的第二中间代码;
...
【专利技术属性】
技术研发人员:贾学文,彭飞,邓竹立,
申请(专利权)人:北京五八信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。