您几乎应该始终仅从非UI线程访问文件系统。否则,您可能会长时间阻塞UI线程并获得ANR。在运行FileWalker
AsyncTask的
doInBackground()。
这是FileWalker的稍微优化的版本:
public class Filewalker { public void walk(File root) { File[] list = root.listFiles(); for (File f : list) { if (f.isDirectory()) { Log.d("", "Dir: " + f.getAbsoluteFile()); walk(f); } else { Log.d("", "File: " + f.getAbsoluteFile()); } } } }
您可以从这样的后台线程调用它:
Filewalker fw = new Filewalker();fw.walk(context.getFilesDir());
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)