删除大量数据

时间:2015-02-26 13:53:54

标签: android

==========问题==========

我正在尝试删除包含大量数据的文件夹(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;
}

1 个答案:

答案 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;
}