System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及游戏开发,具体地涉及一种客户端包体大小持续分析方法及系统。
技术介绍
1、在游戏开发领域,特别是移动游戏开发领域,包体大小管理是一个至关重要的问题。包体是指应用程序的二进制文件,通常包含了所有的代码、资源文件和库等,用于部署和分发应用。包体大小对于应用的性能、下载速度、安装体验和存储空间的占用都具有重要影响。因此,开发团队需要密切监视和管理包体的大小,以确保其在可控范围内,同时满足用户需求。
2、传统上,开发团队通常需要手动分析包体的大小,这是一个繁重且容易出错的任务。每日对比不同版本的包体大小,特别是在大型项目中,会非常耗时。并且客户端包体大小分析通常是手动进行的,开发人员需要下载包体并使用各种工具进行分析。没有自动化的系统能够每日持续监测包体大小、性能的变化,也没有提供生成包体大小变化趋势图、生成智能建议的方法。因此,需要一种自动化的解决方案,可以每日监视包体大小的变化情况,并提供详细的对比报告,以帮助开发人员更好地控制包体大小。
技术实现思路
1、针对现有技术的不足,本专利技术提供了一种客户端包体大小持续分析方法及系统,能够及时发现包体大小的变化趋势,并为开发人员提供方便的分析报告和智能建议,有助于更好地控制包体大小、优化安装过程中的性能表现。
2、为实现上述目的,本专利技术提供如下技术方案:一种客户端包体大小持续分析方法,包括以下步骤:
3、s1:编写python脚本,用于分析客户端应用程序包体的组成结构,提取各个模块的大小
4、s2:制定jenkins流水线,每日定时从应用程序的打包流水线中拷贝最新的包体文件,调用分析脚本,对今日的包体进行分析;
5、s3:智能分析和建议,包括生成折线图展示包体大小趋势和使用聊天机器人api提供优化建议;
6、s4:推送报告,包括合并报告文件、生成智能分析建议、生成包体模块大小饼状图,并将报告发送至指定群。
7、优选的,所述步骤1中python脚本的分析操作,包括以下的流程:
8、s11:工具准备,包括处理文件的、连接svn仓库的和画图的工具;
9、s12:命令行准备,利用命令行实现对工具的执行,完成对两个apk包的路径的分析;
10、s13:文件信息获取,用于分析两个apk包中的文件的不同,使用python标准库的zipfile模块把apk文件解析成zipfile.zipinfo对象,然后使用使用了.file_size和.compress_size属性来获取文件的大小信息,.file_size:表示文件在压缩前的大小,即文件的原始大小,.compress_size:表示文件在压缩后的大小,即文件的压缩后大小,文件压缩后大小均是以字节为单位设置;
11、s14:svn提交记录获取,对文件在svn版本控制系统中修改次数和记录进行获取和备份;
12、s15:分析差异,基于文件信息和svn提交记录,工具会计算出两个apk包之间的差异,关注文件大小的变化;
13、s16:生成报告和趋势图,工具将结果整理成一个表格,详细列出每个文件的变化情况并生成一个图表,展示apk大小在一段时间内的变化趋势。
14、优选的,所述步骤1中对于安装耗时的统计,包括以下的步骤:
15、s21:使用python中的相关库来执行命令行操作,将包体进行安装,并通过调用命令行工具adb来安装应用;
16、s22:统计安装耗时:在安装应用的同时,记录开始时间和结束时间,并计算二者之差即为安装耗时。
17、优选地,所述步骤1中使用android studio分析应用运行时的资源加载情况,包括以下步骤:
18、s31:使用gradle构建和运行应用;
19、s32:通过android studio的gradlew启动性能分析;
20、s33:使用log类在代码中输出日志信息;
21、s34:使用bat批处理文件将上述三个步骤命令组合起来供py脚本调用。
22、优选的,所述步骤1中使用图像处理工具,检测图像中的不可见或冗余部分,包括以下的步骤:
23、s41:根据文件后缀名确定出图像文件;
24、s42:使用python的opencv库中的canny边缘检测技术,找到图像中的边缘,边缘可以识别图像中的直线;
25、s43:使用霍夫直线检测,找到图像中的直线,确定图像中是否有直线;
26、s44:把找到的直线在图像上用红色标记出来,便于观察,并且因为在图像中有很多直线的情况下,可能表示有一些不可见或冗余的部分;
27、s45:把被处理过的图像输出到一个指定目录,供开发人员查看确认。
28、优选的,所述步骤16中报告的形式为纯文本内容,预先设定一个模板,模板中的各项数据由前面的步骤生成并格式化填入,模板中的信息有日期标题、本次包体总大小变化、大小变化最大的模块、有多少未被压缩的文件、未被压缩的文件总大小、安装耗时、androidstudio打印出的性能数据。
29、优选的,所述步骤3中使用聊天机器人api引入分析过程,包括以下步骤:
30、s51:设定向chatgpt的提问问题,有默认值也可以支持修改;
31、s52:每隔5次报告便将5次报告的内容合并成一个新报告,将新报告内的文本作为参数配合预设的问题向chatgpt进行提问;
32、s53:将chatgpt的回答提取并输出成报告文件。
33、一种客户端包体大小持续分析系统,包括脚本模块、jenkins流水线模块、智能分析和建议模块和推送模块;
34、所述脚本模块包括python脚本分析单元、耗时统计单元、资源加载单元、识别压缩单元和图像处理单元组成;
35、所述jenkins流水线模块包括拷贝单元和包体分析单元组成;
36、所述智能分析和建议模块包括折线图生产单元和聊天机器人组成;
37、所述推送模块包括报告合并单元、建议生产单元、包体模块生产单元和报告发送单元组成。
38、优选的,所述脚本模块用于分析客户端应用程序包体的组成结构,提取各个模块的大小信息,包括python脚本。
39、优选的,所述jenkins流水线模块用于每日定时从应用程序的打包流水线中拷贝最新的包体文件和调用分析脚本,对今日的包体进行分析。
40、优选的,所述智能分析和建议模块实现系统自动生成折线图,用于展示包体大小的趋势,帮助开发人员更好地了解包体大小的变化,并使用聊天机器人api引入分析过程,使系统能够提供关于如何优化包体大小的建议。
41、优选的,所述推送模块实现隔一定次数后合并之前每日报告文件;生成智能分析建议;生成包体模块大小饼状本文档来自技高网...
【技术保护点】
1.一种客户端包体大小持续分析方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种客户端包体大小持续分析方法,其特征在于,所述步骤1中Python脚本的分析操作,包括以下的流程:
3.根据权利要求1所述的一种客户端包体大小持续分析方法,其特征在于,所述步骤1中对于安装耗时的统计,包括以下的步骤:
4.根据权利要求1所述的一种客户端包体大小持续分析方法,其特征在于,所述步骤1中使用Android Studio分析应用运行时的资源加载情况,包括以下步骤:
5.根据权利要求1所述的一种客户端包体大小持续分析方法,其特征在于,所述步骤1中使用图像处理工具,检测图像中的不可见或冗余部分,包括以下的步骤:
6.根据权利要求2所述的一种客户端包体大小持续分析方法,其特征在于,所述步骤16中报告的形式为纯文本内容,预先设定一个模板,模板中的各项数据由前面的步骤生成并格式化填入,模板中的信息有日期标题、本次包体总大小变化、大小变化最大的模块、有多少未被压缩的文件、未被压缩的文件总大小、安装耗时、Android Studio打印出
7.根据权利要求1所述的一种客户端包体大小持续分析方法,其特征在于,所述步骤3中使用聊天机器人API引入分析过程,包括以下步骤:
8.一种用于执行权利要求1-7任意一项所述的客户端包体大小持续分析方法的系统,其特征在于,包括脚本模块、Jenkins流水线模块、智能分析建议模块和推送模块;
9.根据权利要求8所述的系统,其特征在于,所述脚本模块用于分析客户端应用程序包体的组成结构,提取各个模块的大小信息,包括Python脚本。
10.根据权利要求8所述的系统,其特征在于,所述Jenkins流水线模块用于每日定时从应用程序的打包流水线中拷贝最新的包体文件和调用分析脚本,对今日的包体进行分析。
11.根据权利要求8所述的系统,其特征在于,所述智能分析建议模块实现系统自动生成折线图,用于展示包体大小的趋势,帮助开发人员更好地了解包体大小的变化,并使用聊天机器人API引入分析过程,使系统能够提供关于如何优化包体大小的建议。
12.根据权利要求8所述的系统,其特征在于,所述推送模块实现隔一定次数后合并之前每日报告文件;生成智能分析建议;生成包体模块大小饼状图帮助开发人员直观的查看包体大小组成成分;机器人将每日报告文件发送至指定群供开发人员查看;若有智能分析建议还会发送智能分析建议报告。
...【技术特征摘要】
1.一种客户端包体大小持续分析方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种客户端包体大小持续分析方法,其特征在于,所述步骤1中python脚本的分析操作,包括以下的流程:
3.根据权利要求1所述的一种客户端包体大小持续分析方法,其特征在于,所述步骤1中对于安装耗时的统计,包括以下的步骤:
4.根据权利要求1所述的一种客户端包体大小持续分析方法,其特征在于,所述步骤1中使用android studio分析应用运行时的资源加载情况,包括以下步骤:
5.根据权利要求1所述的一种客户端包体大小持续分析方法,其特征在于,所述步骤1中使用图像处理工具,检测图像中的不可见或冗余部分,包括以下的步骤:
6.根据权利要求2所述的一种客户端包体大小持续分析方法,其特征在于,所述步骤16中报告的形式为纯文本内容,预先设定一个模板,模板中的各项数据由前面的步骤生成并格式化填入,模板中的信息有日期标题、本次包体总大小变化、大小变化最大的模块、有多少未被压缩的文件、未被压缩的文件总大小、安装耗时、android studio打印出的性能数据。
7.根据权利要求1所述的一种客户端包体大小持续分析方法,其特征在于...
【专利技术属性】
技术研发人员:刘伟,
申请(专利权)人:厦门极致互动网络技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。