繁体   English   中英

在Android中处理海量数据的好方法是什么?

[英]what is a good way to handle very very large amount of data in Android?

我目前正在开发一个Android应用程序,该应用程序需要读取通话记录和文本记录。 为了进行进一步的分析,我从相应的内容提供程序中提取了这些条目的数量巨大,并将其全部创建并插入到SQLite数据库中。

但是我遇到的问题是,当它在已经使用了多年的电话上运行时(意味着从呼叫和文本中生成了大量数据),检索过程和数据库构建过程会花费太多时间,甚至可能导致应用崩溃。 即使我试图将这些过程放在AsyncTask中,问题仍然存在。 所以我的问题是:

我是在以一种很好的方式来执行此操作,以便将所有耗时的操作从Main UI中移开,还是有什么更好的方式(如果有)在Android中处理非常大量的数据呢?

使用分页逻辑。 如果用户要求,则仅获取最新和相关的数据,并加载较旧的数据。

在大多数android手机上,呼叫历史记录限制为500个条目CallLog.Calls ,而SMS提供程序没有这样的限制,您可以查询表的数量并将查询一次限制为50,然后将其传递给单独的线程进行处理。 另外,请确保您在低优先级的后台服务中运行此程序,以免干扰设备中正在进行的任何其他操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM