我任务的最佳解决方案:Thread、AsyncTask 或 Service?
Best solution for my task: Thread, AsyncTask or Service?
我有一个 Android 应用程序可以创建和编辑请购单。所有数据都将存储在我的服务器上。
一个问题是:应用程序应该通过生成查询定期从服务器获取有关某些记录存在的信息。向服务器查询的时间间隔应约为 30 秒。
1) 能否请您指教,解决此问题的最佳方法是什么?也许我错过了更好的选择?
目前我正在考虑选择以下选项:
- 线程
- 异步任务
- 服务
2) 对于Service,我应该在主线程中使用它还是将它放在另一个线程中?
3) 另外,据我所知,当用户旋转 phone 时,Thread 或 AsyncTask 是用 Activity 重新创建的。也许我可以将 Moxy library 与 AsyncTask 一起使用而不用担心 Activity 娱乐?
提前致谢。
我建议你使用服务,它可以在后台无限期地保持 运行。你运河从服务中产生了一个线程。
如果您需要在后台执行任务 运行,那么服务是比 AsyncTask
更好的选择,如果您希望每 30 秒 运行 您的任务,那么您可以使用警报管理器很好对于间隔任务,但警报管理器会消耗大量电池。
Scheduled task 还有另一个最佳解决方案那就是 JobSchedular。
AlarmManager
JobSchedular // 我建议它
Complete Job Scheduler Example
我建议您阅读并使用 JobSchedular
我有一个 Android 应用程序可以创建和编辑请购单。所有数据都将存储在我的服务器上。
一个问题是:应用程序应该通过生成查询定期从服务器获取有关某些记录存在的信息。向服务器查询的时间间隔应约为 30 秒。
1) 能否请您指教,解决此问题的最佳方法是什么?也许我错过了更好的选择?
目前我正在考虑选择以下选项:
- 线程
- 异步任务
- 服务
2) 对于Service,我应该在主线程中使用它还是将它放在另一个线程中?
3) 另外,据我所知,当用户旋转 phone 时,Thread 或 AsyncTask 是用 Activity 重新创建的。也许我可以将 Moxy library 与 AsyncTask 一起使用而不用担心 Activity 娱乐?
提前致谢。
我建议你使用服务,它可以在后台无限期地保持 运行。你运河从服务中产生了一个线程。
如果您需要在后台执行任务 运行,那么服务是比 AsyncTask
更好的选择,如果您希望每 30 秒 运行 您的任务,那么您可以使用警报管理器很好对于间隔任务,但警报管理器会消耗大量电池。
Scheduled task 还有另一个最佳解决方案那就是 JobSchedular。
AlarmManager
JobSchedular // 我建议它
Complete Job Scheduler Example
我建议您阅读并使用 JobSchedular