首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在android中,读取文件的速度很慢

在android中,读取文件的速度很慢
EN

Stack Overflow用户
提问于 2012-02-14 18:41:24
回答 1查看 906关注 0票数 0

我用scanner实现了一小段读取文件的代码,并将值保存在数组中。我同时读取3-6个文件,并将数字保存在3-6个数组中。这些文件保存在我手机的sd卡上。我的问题是,阅读所有这些内容的速度很慢,并且花了很长时间才完成。我如何重写代码以提高效率,或者当我在设备上安装应用程序以安装文件并从那里访问它们时,文件应该保存在poject上

我使用的代码如下:

代码语言:javascript
运行
复制
try {

 File I= new File(Environment.getExternalStorageDirectory().toString()+"/ECG/test/I.txt");  
 scannerI = new Scanner(I);
 scannerI.useDelimiter(";"); 
 for(int sampleIdx = 0; scannerI.hasNext();){
 timiI[sampleIdx] = scannerI.nextDouble();
 sampleIdx++;

 if(sampleIdx == SAMPLE_SIZE && !Thread.currentThread().isInterrupted()){
 //do something
 sampleIdx = 0;
                    }
                }           
           }
}

正如我之前提到的,我使用了不止1个文件,以及相应的数组

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-14 18:52:45

根据我的经验,扫描仪在Android中运行很慢。

我通过以下方式提高了应用程序的响应性

  1. 将解析代码移动到AsyncTask (http://developer.android.com/reference/android/os/AsyncTask.html)中并在后台线程中运行文件读取。
  2. 使用LineNumberReader和String.split(";")代替扫描器。

第二个提示在我的应用程序中加速了大约10倍,但仍然太慢了,无法避免ANR,所以才有了后台任务。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9275454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档