2017-04-10 73 views
-1

我试图从启动程序活动的onCreate()启动服务。Android服务onstart()仅在呼叫活动的onCreate()结束后才会调用

我创建了一个intent对象,并调用startService()。这是否会在新线程中调用服务?只有在活动的onCreate()退出后,才能看到服务的onStartCommand被调用。

这是真的吗?如果是,如何同时启动服务,即oncreate可以继续与服务的onStartCommand并行退出。

在此先感谢。

+0

startService()在应用程序类 –

+0

可以请你分享一个示例代码链接 –

+0

@HiteshGehlot为什么downvote。我想这一定会被任何启动android的人问到。没有在任何文档中提及。 –

回答

1

这是否会在新线程中调用服务?

在Java中,对象不会在线程上运行。方法在线程上运行。

我可以看到服务的onStartCommand仅在活动退出的OnCreate()之后调用。

正确。 startService()仅排队启动服务的请求。直到您将主应用程序线程的控制权返回给框架后,Android才能这样做。只要onCreate()正在运行,您正在捆绑主应用程序线程。您需要确保每个回调(例如,onCreate())为非常非常快,,理想情况下持续时间在1毫秒以下。

如果是如何并行启动服务,即oncreate可以继续与服务的onStartCommand并行退出。

这是不可能的,对不起。

+0

谢谢。这证实了我的疑惑。 –

相关问题