【问题标题】:Is it advisable to update sqlite database rapidly from AsyncTask instances? I am getting ANR in the Service是否建议从 AsyncTask 实例快速更新 sqlite 数据库?我在服务中遇到 ANR
【发布时间】:2016-02-11 13:58:32
【问题描述】:

这是我的场景:

  • 聊天消息通过远程服务中的 websocket 进入设备。

  • 消息由新的 AsyncTask 实例记录在数据库表中。

  • 然后将消息发送到 Activity,该 Activity 通过远程服务到 Activity 通信来显示它。

一段时间后,我在服务中遇到 ANR,然后服务因 SIGABRT 或其他原因而崩溃!

我在重负载下进行了测试。 (如在快速流入的聊天消息中,例如每秒 1 条)

我的问题是这样的:会不会是快速数据在 AsyncTasks 中插入到数据库中..(我知道他们按顺序执行任务,不管我使用多少,对吧?) 导致了导致崩溃的 ANR?

谢谢!

【问题讨论】:

  • 你是如何执行这些 AsyncTasks ..AsyncTask.execute 的?

标签: java android sqlite android-asynctask android-sqlite


【解决方案1】:

尝试从

更改您的代码
new MyAsyncTask().execute();

new MyAsyncTask().executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);

如果没有看到你的代码,我很难说得更具体

【讨论】:

  • 嗯,谢谢..我会试一试,让你知道情况如何......我的聊天服务器已关闭,我将不得不找到一个解决方法来彻底测试......跨度>
猜你喜欢
  • 2015-11-13
  • 2011-11-22
  • 2017-09-22
  • 1970-01-01
  • 2012-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多