Android服务或线程

Android服务或线程,android,multithreading,service,android-service,Android,Multithreading,Service,Android Service,嗨,在android中,我需要在应用程序运行时每30秒向服务器发送一次请求,而不会干扰用户。建议在服务或线程中执行此操作,还是在具有新线程的服务中执行此操作 干杯更好用。使用AlarmManager调用服务。在服务中编写向服务器发送请求的代码。服务:服务是一个应用程序组件,表示应用程序希望在不与用户交互的情况下执行长时间运行的操作 而线程是一个并发执行单元。您可以将两者用于您的目的,另一个选项是可运行和处理程序,您可以每隔30秒调用操作或代码签出(正如Chaitu所说)以及。我建议您使用服务,而

嗨,在android中,我需要在应用程序运行时每30秒向服务器发送一次请求,而不会干扰用户。建议在服务或线程中执行此操作,还是在具有新线程的服务中执行此操作


干杯更好用。使用AlarmManager调用服务。在服务中编写向服务器发送请求的代码。

服务:服务是一个应用程序组件,表示应用程序希望在不与用户交互的情况下执行长时间运行的操作


线程
是一个并发执行单元。您可以将两者用于您的目的,另一个选项是
可运行
处理程序
,您可以每隔30秒调用操作或代码

签出(正如Chaitu所说)以及。

我建议您使用服务,而不是创建一个线程。Android开发者网站声明如下:

请注意,与其他应用程序对象一样,服务在主应用程序中运行 他们的托管进程的线程。这意味着,如果您的服务 去做任何CPU密集型(如MP3播放)或阻塞(如 作为网络(networking)操作,它应该生成自己的线程,在其中 做那件事。有关这方面的更多信息,请参见流程和 线程。IntentService类作为标准提供 具有自己调度线程的服务的实现 它的工作有待完成

由于服务在UI线程中运行,您应该在服务中创建一个新线程,该线程每30秒向服务器发出一次请求


我希望这会有所帮助。

我建议您编写一个而不是一个简单的服务,并在其中编写一个静态方法,以向服务器发送一个请求,回退时间为30秒,在您的活动中只需启动服务。

简单地回答“您应该使用服务还是线程?”

服务只是一个组件,即使用户没有与应用程序交互,它也可以在后台运行。因此,只有当您需要服务时,才应该创建服务

如果您需要在主线程之外执行工作,但仅在用户与应用程序交互时执行,那么您可能应该创建一个新线程而不是服务

请记住,如果您确实使用服务,默认情况下它仍在应用程序的主线程中运行,因此如果服务执行密集或阻塞操作,您仍应在服务中创建新线程