一种基于资源索引的资源检测及清理方法和插件技术

技术编号:38657377 阅读:18 留言:0更新日期:2023-09-02 22:42
本发明专利技术公开一种基于资源索引的资源检测及清理方法,涉及资源处理技术领域,该方法基于指定本地资源根路径下生成的资源索引文件,解析得到静态变量的变量名及变量值,通过逐条循环遍历指定的项目文件夹,查找与某个静态变量的变量名及变量值相关的项目文件,最后根据用户的需求删除查找所得的项目文件。本发明专利技术还公开一种基于资源索引的资源检测及清理插件,其用于实现前述方法,解决了现有IDE无法检测及清理项目内资源的问题,提高了Flutter产品质量,减少了产品体积,降低了用户下载流量成本。本。本。

【技术实现步骤摘要】
一种基于资源索引的资源检测及清理方法和插件


[0001]本专利技术涉及资源处理
,具体的说是一种基于资源索引的资源检测及清理方法和插件。

技术介绍

[0002]Flutter开发过程中,大量的本地图片、视频等资源文件引入到项目工程中,随着项目的持续开发,资源文件越积越多,当项目需求发生变化时,部分资源文件可能因被忽视而不能及时删除。这部分无用的资源文件使得产品的体积变大,增加客户的下载流量成本。
[0003]目前Android Studio等IDE中支持JAVA等项目开发中无用资源文件的检测和清理功能。由于Flutter开发中图片视频等工程内部资源文件采用相对路径的方式使用,这就产生现有IDE无法清理Flutter项目中无用资源的问题。

技术实现思路

[0004]本专利技术为了解决现有IDE无法检测及清理项目内资源的问题,提供一种基于资源索引的资源检测及清理方法和插件,来通过查找并删除Flutter项目内无用资源文件,提高Flutter产品质量,减少产品体积,降低用户下载流量成本。
[0005]首先,本专利技术的一种基于资源索引的资源检测及清理方法,解决上述技术问题采用的技术方案如下:
[0006]一种基于资源索引的资源检测及清理方法,该方法基于指定本地资源根路径下生成的资源索引文件,解析得到静态变量的变量名及变量值,通过逐条循环遍历指定的项目文件夹,查找与某个静态变量的变量名及变量值相关的项目文件,最后根据用户的需求删除查找所得的项目文件;
[0007]所涉及资源检测及清理方法包括如下步骤:
[0008]S1、指定本地资源根路径P1,生成该路径下的资源索引文件R;
[0009]S2、读取R文件内容,解析m个静态变量,得到静态变量的变量名及变量值,m为R文件中的静态变量个数,即本地资源文件个数;
[0010]S3、逐条循环遍历指定搜索项目路径P2下的所有文件,查找是否包含某个静态变量的变量名及变量值;
[0011]循环查找过程中,如果在指定的搜索项目路径P2下发现包含某个静态变量对应变量名及变量值的文件,则退出当前遍历的文件,进行下一个静态变量的查找,否则直到遍历完所有文件均未发现一个静态变量的变量名及变量值,则将查找到的变量记录到待删除文件F1中,待m个静态变量检测完成后根据用户的需求删除待删除文件F1记录的资源文件。
[0012]可选的,执行步骤S1,在项目配置文件pubspec.yaml中添加本地资源存放根路径P1,触发本地资源索引生成功能,生成本地资源存放根路径P1下的资源索引文件R。
[0013]可选的,资源索引文件R是.dart代码文件,文件R中包含多个String类型静态变量,静态变量的名字为资源在工程中的相对路径与文件名的字符串拼接,静态变量的值为
资源的相对路径。
[0014]可选的,执行步骤S2,按行读取R文件内容,解析第i个静态变量生成变量名K
i
及变量值V
i
,其中,0<=i<m;
[0015]执行步骤S3,逐条循环遍历指定搜索项目路径P2下的所有文件,加载打开并判断文件中是否包含第i个静态变量的变量名K
i
及变量值V
i
,直到找到包含的文件或者P2下文件遍历完成,跳出此次遍历,
[0016]若遍历完成指定搜索项目路径P2下的所有文件均未有包含第I个静态变量对应的变量名K
i
及变量值V
i
,则将该变量名K
i
及变量值V
i
保存到待删除文件F1中,i=i+1,重复执行步骤S2,
[0017]若遍历到某文件内包含变量名K
i
及变量值V
i
,则i=i+1,重复步骤S2;
[0018]当i>m,解锁搜索,给用户展示待删除文件F1内信息,并提示是否删除包含的图片资源,点击删除后根据待删除文件F1内路径地址删除相应文件。
[0019]其次,本专利技术的一种基于资源索引的资源检测及清理插件,解决上述技术问题采用的技术方案如下:
[0020]一种基于资源索引的资源检测及清理插件,其包括:
[0021]指定生成模块,用于指定本地资源根路径P1,生成该路径下的资源索引文件R;
[0022]读取解析模块,用于读取R文件内容,解析m个静态变量,得到静态变量的变量名及变量值,m为R文件中的静态变量个数,即本地资源文件个数;
[0023]遍历查找模块,用于逐条循环遍历指定搜索项目路径P2下的所有文件,查找是否包含某个静态变量的变量名及变量值,循环查找过程中,在指定的搜索项目路径P2下发现包含某个静态变量的文件时,退出当前遍历的文件,进行下一个静态变量的查找,否则直到遍历完所有文件均未发现一个静态变量的变量名及变量值;
[0024]记录存储模块,用于将查找到的变量记录到待删除文件F1中,待m个静态变量检测完成后根据用户的需求删除待删除文件F1记录的资源文件。
[0025]可选的,所涉及指定生成模块在项目配置文件pubspec.yaml中添加本地资源存放根路径P1,触发本地资源索引生成功能,生成本地资源存放根路径P1下的资源索引文件R。
[0026]可选的,所涉及资源索引文件R是.dart代码文件,文件R中包含多个String类型静态变量,静态变量的名字为资源在工程中的相对路径与文件名的字符串拼接,静态变量的值为资源的相对路径。
[0027]可选的,所涉及读取解析模块按行读取R文件内容,解析第i个静态变量生成变量名K
i
及变量值V
i
,其中,0<=i<m;
[0028]所述遍历查找模块逐条循环遍历指定搜索项目路径P2下的所有文件,加载打开并判断文件中是否包含第i个静态变量的变量名K
i
及变量值V
i
,直到找到包含的文件或者P2下文件遍历完成,跳出此次遍历,
[0029]若遍历完成指定搜索项目路径P2下的所有文件均未有包含第I个静态变量对应的变量名K
i
及变量值V
i
,则将该变量名K
i
及变量值V
i
保存到待删除文件F1中,随后i=i+1,重复按行读取R文件内容,解析第i个静态变量生成变量名K
j
及变量值V
j
,其中,0<=j<m,
[0030]若遍历到某文件内包含变量名K
i
及变量值V
i
,则i=i+1,重复按行读取R文件内容,解析第i个静态变量生成变量名K
j
及变量值V
j
,其中,0<=j<m;
[0031]当i>m,解锁搜索,给用户展示待删除文件F1内信息,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于资源索引的资源检测及清理方法,其特征在于,该方法基于指定本地资源根路径下生成的资源索引文件,解析得到静态变量的变量名及变量值,通过逐条循环遍历指定的项目文件夹,查找与某个静态变量的变量名及变量值相关的项目文件,最后根据用户的需求删除查找所得的项目文件。2.根据权利要求1所述的一种基于资源索引的资源检测及清理方法,其特征在于,所述方法包括如下步骤:S1、指定本地资源根路径P1,生成该路径下的资源索引文件R;S2、读取R文件内容,解析m个静态变量,得到静态变量的变量名及变量值,m为R文件中的静态变量个数,即本地资源文件个数;S3、逐条循环遍历指定搜索项目路径P2下的所有文件,查找是否包含某个静态变量的变量名及变量值;循环查找过程中,如果在指定的搜索项目路径P2下发现包含某个静态变量对应变量名及变量值的文件,则退出当前遍历的文件,进行下一个静态变量的查找,否则直到遍历完所有文件均未发现一个静态变量的变量名及变量值,则将查找到的变量记录到待删除文件F1中,待m个静态变量检测完成后根据用户的需求删除待删除文件F1记录的资源文件。3.根据权利要求1所述的一种基于资源索引的资源检测及清理方法,其特征在于,执行步骤S1,在项目配置文件pubspec.yaml中添加本地资源存放根路径P1,触发本地资源索引生成功能,生成本地资源存放根路径P1下的资源索引文件R。4.根据权利要求1所述的一种基于资源索引的资源检测及清理方法,其特征在于,资源索引文件R是.dart代码文件,文件R中包含多个String类型静态变量,静态变量的名字为资源在工程中的相对路径与文件名的字符串拼接,静态变量的值为资源的相对路径。5.根据权利要求1所述的一种基于资源索引的资源检测及清理方法,其特征在于,执行步骤S2,按行读取R文件内容,解析第i个静态变量生成变量名K
i
及变量值V
i
,其中,0<=i<m;执行步骤S3,逐条循环遍历指定搜索项目路径P2下的所有文件,加载打开并判断文件中是否包含第i个静态变量的变量名K
i
及变量值V
i
,直到找到包含的文件或者P2下文件遍历完成,跳出此次遍历,若遍历完成指定搜索项目路径P2下的所有文件均未有包含第I个静态变量对应的变量名K
i
及变量值V
i
,则将该变量名K
i
及变量值V
i
保存到待删除文件F1中,i=i+1,重复执行步骤S2,若遍历到某文件内包含变量名K
i
及变量值V
i
,则i=i+1,重复步骤S2;当i>m,解锁搜索,给用户展示待删除文件F1内信息,并提示是否删除包含的图片资源,点击删除后根据待删除文件F1内路径地址删除相应文件。6.一种基于资源索引的资源检测及清理插件,...

【专利技术属性】
技术研发人员:李宝超张连超张运江于富昌
申请(专利权)人:浪潮软件股份有限公司
类型:发明
国别省市:

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

1