[Android]copy文件到/data/data/目录速度从29s提升至3s

    项目中由于要将大量文件copy到/data/data/myapplication目录下。

    原来的做法是将目录文件copy到assets目录下,然后通过AssetManager解压出文件,再copy到/data/data/myapplication目录下,但是由于目录文件比较多,应用程序在此处初始化时用nexus S手机竟然是29s左右,虽然只有第一次打开时会耗时,但是这个时间也是无法忍受的。

    为了优化这里,我一开始的做法是采用多线程,但是由于AssetManager是单例,无论用几个线程,用AssetManager解压文件都会是单线程,时间没有提升。

    后来想是否能够将要copy的文件压缩成zip包,这样AssetManager只需要解压一次。这样,这个zip包就会在/data/data/myapplication目录下了,我只需要针对这个zip包,再用java代码解压一次即可。    

    试了试,时间果然有提升,竟然提升到3s,达到目标,happy中~~~

转载于:https://my.oschina.net/tingzi/blog/92880

你可能感兴趣的:([Android]copy文件到/data/data/目录速度从29s提升至3s)