我的SQLite数据库表中有一些数据。当我的应用程序启动时,我想每5分钟将该数据发送到服务器。
当应用关闭时,它应该停止。
Service
还是IntentService
? AlarmManager
,Handler
还是其他任何东西? 答案 0 :(得分:0)
如果您只是在应用程序位于前台时进行传输,则可以使用处理程序进行传输 您在onResume()中启动处理程序并在onPause()中取消它。 并使用AsyncTask或单独的线程执行传输。
如果您需要在后台进行传输,则可以使用服务代替并使用AlarmManager进行安排 然后从应用程序的Activity中启动服务。
我不确定如何使用IntentService。
答案 1 :(得分:0)
由于您只想在应用程序处于前台时运行您的进程,因此TimerTask或Handler与Message或Runable结合使用是好的。它不会打扰你的应用程序的性能。如果你问这两个中哪个更好,我会说它是Handler。请在此答案中查看详细信息:
https://stackoverflow.com/a/3975337/4128371
但如果你想要一个非常好的表现,那么我建议你选择AlarmManager。否则Handler是个不错的选择。