在Android中处理非常大量数据的好方法是啥?
Posted
技术标签:
【中文标题】在Android中处理非常大量数据的好方法是啥?【英文标题】:what is a good way to handle very very large amount of data in Android?在Android中处理非常大量数据的好方法是什么? 【发布时间】:2015-03-02 12:19:58 【问题描述】:我目前正在开发一个需要读取通话记录和文本历史记录的 android 应用程序。为了进一步分析,我从相应的内容提供程序中提取了这些大量条目,创建并将它们全部插入到 SQLite 数据库中。
但我遇到的问题是,当它在使用多年的手机上运行时(意味着电话和短信会产生大量数据),检索过程和数据库构建过程需要太多时间甚至可能导致应用程序崩溃。即使我尝试将这些进程放在 AsyncTask 中,问题仍然存在。所以我的问题是:
我是否以一种很好的方式将任何耗时的操作远离主 UI,或者有什么更好的方式(如果有的话)在 Android 中处理非常大量的数据?
【问题讨论】:
【参考方案1】:使用分页逻辑。仅获取最新和相关的数据,并在用户请求时加载较旧的数据。
【讨论】:
【参考方案2】:大多数安卓手机上的通话记录限制为 500 个条目CallLog.Calls,而 SMS 提供商没有这样的限制,您可以查询表的计数并将查询限制为一次 50 个并将其传递给单独的线程用于处理。还要确保在低优先级的后台服务中运行它,以免干扰设备中正在进行的任何其他操作。
【讨论】:
以上是关于在Android中处理非常大量数据的好方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章