SD卡文件夹下,有几千个录音文件,删除极慢,怎么解决?
SD卡的录音目录下,有几千个录音文件,程序用 file.delete逐个删除悲剧了,太慢,而被系统挂起
各位,有什么好的办法批量删除大量文件?
谢了先 --------------------编程问答-------------------- 别沉啊
快下班了,希望明天能看到回复的方法
--------------------编程问答-------------------- 幫頂 --------------------编程问答-------------------- 帮顶 同样准备下班 --------------------编程问答-------------------- 试着通过Runtime.getRuntime().exec调用rm -rf
--------------------编程问答-------------------- 同意4楼的做法
执行shell命令:
public void execShell(String cmd){
try{
//权限设置
Process p = Runtime.getRuntime().exec("su");
//获取输出流
OutputStream outputStream = p.getOutputStream();
DataOutputStream dataOutputStream=new DataOutputStream(outputStream);
//将命令写入
dataOutputStream.writeBytes(cmd);
//提交命令
dataOutputStream.flush();
//关闭流操作
dataOutputStream.close();
outputStream.close();
}
catch(Throwable t)
{
t.printStackTrace();
}
} --------------------编程问答--------------------
这个方法要ROOT过才行吧。。。 --------------------编程问答-------------------- 这个rm是常规命令无需root啊,你删除的目录在sd卡上没问题,只要不是rom的系统目录需要权限可以放心执行的 --------------------编程问答-------------------- 几千个文件要删除,肯定不会太快。
你是放在主线程里删除吧,要不然怎么会挂起呢。
删除速度当然可以优化,估计不是问题根本,建议放到线程中执行批量删除逻辑。 --------------------编程问答-------------------- 谢谢以上各位的回答
我将实验一下rm的方法,同时将删除做到一个线程里面
后面的结果,将在这里公布
补充:移动开发 , Android