Assets文件批量拷贝方法与流程

文档序号:15079517发布日期:2018-08-03 12:16阅读:1185来源:国知局

本发明涉及Android应用技术领域,具体涉及一种Assets文件批量拷贝方法。



背景技术:

Assets,为Android应用内存放资源文件的目录。AssetsManager,为Android内的一个可以操作Assets目录的资源管理类,它含有list和open等接口,list接口可以获取Assets目录下的文件夹路径,open接口可以打开Assets目录下指定的文件。Sdcard,为Android手机存储内存卡。

如图1所示,需要将assets/config目录下的所有文件拷贝到sdcard下,已有的解决方案是通过AssetsManager.list(“config”)接口遍历config目录下的所有文件夹和文件,如果遍历获取到的是文件,则调用AssetsManager.open读取文件进行拷贝;如果获取到是文件夹,那么则需要再次调用list接口进行遍历获取,需要调用AssetsManager.list(“config/data”)和 AssetsManager.list (“config/resource”),如果存在的文件夹层次越多调用list的次数越多。

现有的方案通过调用AssetsManager.list接口来遍历文件的,而该接口调用比较耗时,平均耗时在20毫秒~200毫秒,根据机子性能不同存在差异。所以现有方案存在的缺点就是如果存在文件夹层次较多的情况下,需要多次调用AssetsManager.list接口,导致非常耗时,使用不当甚至会发生ANR,ANR(Application Not Responding)指的是应用程序无响应,Android 应用若5s内不能响应用户操作事件就会发生ANR。



技术实现要素:

本发明的目的在于提供一种Assets文件批量拷贝方法,其可以提高Android应用从Assets文件批量拷贝到sdcard的速度。

为实现上述目的,本发明采用的技术方案是:

一种Assets文件批量拷贝方法,其包括以下步骤:

步骤1、在Assets目录下创建resouces.xml配置文件,该文件的内容即为Assets目录下的文件路径配置,其部分内容如图3所示;

步骤2、调用AssetsManager.open(“resources.xml”)读取resource.xml配置文件,并解析resources.xml文件,获取Assets目录下的文件路径,即目标文件路径;

步骤3、根据步骤2中得到的目标文件路径,调用AssetsManager.open读取目标文件,并将目标文件拷贝到sdcard中。

采用上述方案后,本发明通过resource.xml配置文件预先配置好Assets目录下文件的路径,并使用AssetsManager.open接口读取resource.xml文件,获取目标文件的路径,然后调用AssetsManager.open接口读取目标文件。在相同的文件夹和文件数量下,现有技术的拷贝方法平均耗时在秒级水平,在部分机型上达到几十秒,而使用本发明的方法在相同的机型下达到了毫秒级,大大提高了批量拷贝的速度。而且,本发明的批量拷贝方法只需维护resources.xml配置文件,而该文件可使用自动脚本生成,维护成本低。

附图说明

图1为本发明Assets目录示意图;

图2为本发明流程图;

图3为本发明resources.xml文件的内容示意图。

具体实施例

如图2所示,本发明揭示了一种Assets文件批量拷贝方法,其具体如下:

步骤1、在Assets目录下创建resouces.xml配置文件,该文件的内容即为Assets目录下的文件路径配置,其部分内容如图3所示;

步骤2、调用AssetsManager.open(“resources.xml”)读取resource.xml配置文件,并解析resources.xml文件,获取Assets目录下的文件路径,即目标文件路径;

步骤3、根据步骤2中得到的目标文件路径,调用AssetsManager.open读取目标文件,并将目标文件拷贝到sdcard中。

本发明的关键在于,本发明通过resource.xml配置文件预先配置好Assets目录下文件的路径,不使用AssetsManager.list接口获取目标文件路径,而是使用AssetsManager.open接口读取resource.xml文件,获取目标文件的路径,然后直接调用AssetsManager.open接口读取目标文件。在相同的文件夹和文件数量下,现有技术的拷贝方法平均耗时在秒级水平,在部分机型上达到几十秒,而使用本发明的方法在相同的机型下达到了毫秒级,大大提高了批量拷贝的速度。而且,本发明的批量拷贝方法只需维护resources.xml配置文件,而该文件可使用自动脚本生成,维护成本低。

以上所述,仅是本发明实施例而已,并非对本发明的技术范围作任何限制,故凡是依据本发明的技术实质对以上实施例所作的任何细微修改、等同变化与修饰,均仍属于本发明技术方案的范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1