0
我正在寻找一种方式来立即启动服务时,它被称为(我注意到,如果执行网络操作可能需要一些时间)。 这是它是如何现在叫:Android - 立即startService
Intent intent = new Intent(application, SomeIntentService.class);
application.startService(intent);
我正在寻找一种方式来立即启动服务时,它被称为(我注意到,如果执行网络操作可能需要一些时间)。 这是它是如何现在叫:Android - 立即startService
Intent intent = new Intent(application, SomeIntentService.class);
application.startService(intent);
你在哪里打电话application.startService()
?通常,startService()
是启动服务的正确方法,应立即调用onCreate()
方法。
但请记住,一个IntentService处理单个工作线程上的所有请求,并且它一次只能处理一个请求 - 所以如果您多次调用您的服务并且以前的请求尚未完成(例如一个网络任务),它会排入新任务,一旦前一个任务完成,将执行该任务。
它从一个类中调用(并将应用程序作为参数)。所以我们可以说我在不同的动作上多次调用这个intentService,所以当我想调用这个即时动作时,我需要调用一个不同的服务(不是'SomeIntentService.class'),以便它可以立即启动。正确? – 2015-03-19 09:04:03
当您想立即运行多个后台任务时,您应该考虑不同的实施策略。也许你想看看AsyncTask或者你可以使用线程... – 2015-03-19 12:38:22
我实际上并不需要它们都立即,只有一个。我可以优先考虑服务吗? – 2015-03-19 14:41:51