==========问题==========
我正在尝试删除包含大量数据的文件夹(mp3,图像,xml等)。目前我通过FileUtils.removeDirectory()
来自commons-io
库进行此操作。
问题是,当我这样做时,它基本上冻结了我的应用程序。
有没有办法提高效率?还是不那么痛苦?
====== CODE ==========
@Override
protected String doInBackground(Void... params) {
String error = null;
try {
File internalData = new File(context.getFilesDir().getParentFile().getPath() + "/download/");
FileUtils.deleteDirectory(internalData);
File externalData = new File(context.getExternalFilesDir(null).getPath() + "/Media/");
FileUtils.deleteDirectory(externalData);
externalData.delete();
} catch (IOException e) {
e.printStackTrace();
error = e.getMessage();
}
return error;
}
答案 0 :(得分:0)
//Function:
public boolean performOnBackgroundThread() {
boolean error=true;
final Thread t = new Thread() {
@Override
public void run() {
try {
File internalData = new File(context.getFilesDir().getParentFile().getPath() + "/download/");
FileUtils.deleteDirectory(internalData);
File externalData = new File(context.getExternalFilesDir(null).getPath() + "/Media/");
FileUtils.deleteDirectory(externalData);
externalData.delete();
error = false;
} catch (IOException e){
e.printStackTrace();
error = true;
}
}
};
t.start();
return error;
}