SD卡响应缓慢

时间:2011-08-26 06:27:10

标签: android

我正在处理应用程序,它将从SD卡读取文本文件并将其内容写入其他文本文件。

实施如下:

   File result = new File("/mnt/sdcard/result.txt");
   result .createNewFile();
   FileWriter resultFileWriter = new FileWriter(result , true);


   File f = new File("/mnt/sdcard/abc.txt");
   BufferedReader mainBufferedReader = 
        new BufferedReader(new FileReader(f));

  while((line = mainBufferedReader.readLine() ) != null)
  {
     lineNo ++

     if(lineNo  >  50 )
     {
          resultFileWriter .append(line);
          resultFileWriter .append("\n");
          resultFileWriter .flush();
     }
  }


  resultFileWriter .close();
  resultFileWriter = null;

  mainBufferedReader .close();
  mainBufferedReader  = null;

上面的代码工作正常,但很少次(20次中有1次)需要花费很多时间进行上述操作。

我怀疑这是因为SD卡响应缓慢。

一般情况下,如果有机会减慢SD卡的响应,请通知我。 或者如果我的代码中需要做任何更改,请告诉我。

感谢。

2 个答案:

答案 0 :(得分:0)

据我记得,此视频是关于此类延迟的: http://developer.android.com/videos/index.html#v=c4znvD-7VDA

但我们的想法是异步执行I / O操作,因此这些延迟将无法减慢您的用户界面。

答案 1 :(得分:0)

最好使用SQLITE DB。 DB读/写总是比文件I / O快。