我的任务的最佳解决方案:线程,AsyncTask还是服务?

时间:2018-03-01 08:56:04

标签: android multithreading android-moxy

我有一个Android应用程序,可以创建和编辑请购单。所有数据都将存储在我的服务器上。

问题是:应用程序应该通过生成查询定期从服务器获取有关某些记录的信息。查询服务器之间的时间间隔应该是大约30秒。

1)你能告诉我,解决这个问题的最佳方法是什么?也许我错过了更好的选择?

目前我正在考虑以下选项:

  • 线程
  • 的AsyncTask
  • 服务

2)对于服务,我应该在主线程中使用它还是将其放入另一个线程?

3)另外,据我所知,当用户旋转手机时,会使用Activity重新创建Thread或AsyncTask。也许我可以使用Moxy library与AsyncTask而不是担心Activity娱乐?

提前谢谢。

2 个答案:

答案 0 :(得分:0)

我建议你使用Service,它可以在后台无限期地运行。你运河从服务中产生一个线程。

答案 1 :(得分:0)

如果您需要在后台运行任务,那么Service是最好的选项而不是AsyncTask如果您想每30秒运行一次任务,那么您可以使用Alarm Manager适用于间隔任务,但是Alarm Manager将消耗一个很多电池。

还有另一个针对计划任务的最佳解决方案 JobSchedular

<强> AlarmManager

https://stackoverflow.com/a/8801990/6676466

JobSchedular //我建议

Complete Job Scheduler Example

我建议您阅读并使用 JobSchedular