我必须删除超过30000张图片的文件夹。 我有' .nomedia'将文件放在里面以防止一直扫描。 试图删除我必须检查每个文件的文件名的所有文件。如果我错过了这张支票 - ' .nomedia'文件将被删除。如果在图像之前发生这种情况 - 这将导致很大的性能损失。 知道如何解决这个问题吗?
是否有人知道如何在不使用的情况下隐藏扫描图像' .nomedia'? 我可以保存带有虚假扩展名的文件,但我不确定这是否正常。
实际上测试显示了这个结果:检查名称使删除速度慢了约50%。问题不在检查代码中,而是在系统扫描文件夹中:(
答案 0 :(得分:1)
我的解决方案是:
这种方式并不比以前快,但允许用户立即继续工作。 当然有一个假设 - 用户必须知道删除和清理占用的空间有一段时间没有完成。
答案 1 :(得分:0)
您确定单独检查文件名的过程需要很长时间吗?
为了删除文件,我想你无论如何都需要File
个对象。已经拥有File
对象,执行以下操作的性能成本是多少?
".nomedia".equals(file.getName());
实际删除的费用(file.delete()
)应该比字符串比较多出几个数量级。
您是否测量过检查文件名所需的实际时间?