2015-03-19 52 views
0

我正在寻找一种方式来立即启动服务时,它被称为(我注意到,如果执行网络操作可能需要一些时间)。 这是它是如何现在叫:Android - 立即startService

Intent intent = new Intent(application, SomeIntentService.class); 
application.startService(intent); 

回答

1

你在哪里打电话application.startService()?通常,startService()是启动服务的正确方法,应立即调用onCreate()方法。

但请记住,一个IntentService处理单个工作线程上的所有请求,并且它一次只能处理一个请求 - 所以如果您多次调用您的服务并且以前的请求尚未完成(例如一个网络任务),它会排入新任务,一旦前一个任务完成,将执行该任务。

+0

它从一个类中调用(并将应用程序作为参数)。所以我们可以说我在不同的动作上多次调用这个intentService,所以当我想调用这个即时动作时,我需要调用一个不同的服务(不是'SomeIntentService.class'),以便它可以立即启动。正确? – 2015-03-19 09:04:03

+0

当您想立即运行多个后台任务时,您应该考虑不同的实施策略。也许你想看看AsyncTask或者你可以使用线程... – 2015-03-19 12:38:22

+0

我实际上并不需要它们都立即,只有一个。我可以优先考虑服务吗? – 2015-03-19 14:41:51