使用数据库在Android应用程序中处理大型文本文件

使用数据库在Android应用程序中处理大型文本文件,android,Android,我正在尝试开发一个android应用程序,它从一个txt文件(大约700万行长,接近32MB)中获取一些数据,并根据某些条件处理这些数据,将它们放入SQL数据库并检索它们。就数据库而言,它工作得很好,因为我用另一种方法对它进行了测试,但由于某种原因,它很难处理文件,我的代码变得非常无响应。这样做的有效方式是什么 如果是耗时的部分,则文件输入可能使用异步任务在后台执行工作(读取文件并准备数据库),然后在完成后通知用户。这样用户就可以继续使用该应用程序。以下是一些链接: 根据文档,asyncTa

我正在尝试开发一个android应用程序,它从一个txt文件(大约700万行长,接近32MB)中获取一些数据,并根据某些条件处理这些数据,将它们放入SQL数据库并检索它们。就数据库而言,它工作得很好,因为我用另一种方法对它进行了测试,但由于某种原因,它很难处理文件,我的代码变得非常无响应。这样做的有效方式是什么

如果是耗时的部分,则文件输入可能使用异步任务在后台执行工作(读取文件并准备数据库),然后在完成后通知用户。这样用户就可以继续使用该应用程序。以下是一些链接:

根据文档,asyncTask只能用于不太长的操作(仅几秒钟):

AsyncTasks最好用于短期操作(几秒钟 如果您需要让线程长时间运行 同时,强烈建议您使用 并发包,例如Executor、ThreadPoolExecutor 未来的任务

  • 在单独的线程中运行代码(异步任务)
  • 不要一次加载整个文件,而是逐行处理它。这将帮助您减少内存消耗