如何在android中解决慢速图像阅读速度?

时间:2015-09-03 04:24:57

标签: android

我正在使用此代码从sdcard读取图像。但是当我启动应用程序时,它需要5秒才能启动。你能给我一些建议吗?我怎样才能减少阅读图像的时间。这是代码 -

ArrayList<File> imageReader(File root){

    ArrayList<File> a = new ArrayList<>();
    b = new ArrayList<>();

    File[] files = root.listFiles();
    for (int i=0;i<files.length;i++){
        if (files[i].isDirectory()){

            a.addAll(imageReader(files[i]));
        }
        else{

            if (files[i].getName().endsWith(".jpg")) {

            a.add(files[i]);

            }
        }
    }

return a;
}

1 个答案:

答案 0 :(得分:0)

删除递归

public static List<File> getAllFiles(File root) {

   List<File> files = new ArrayList<File>();
   files.addAll(Arrays.asList(root.listFiles());
   List<File> images = new ArrayList<File>();
   for (int i=0; i < files.size(); i++) {
      File aFile = files.get(i);
      if (aFile.isDirectory()) {
          files.addAll(Arrays.asList(aFile.listFiles());
          continue;
      }
      if (aFile..getName().endsWith(".jpg")) {
         images.add(aFile);
      }
   return images;
}

使用后台主题

new Thread() {

   public void run() {
      System.out.prinln(getAllFiles(File.listRoots()[0]);
   }
}.start();