启动和绑定的服务的生命周期?

use*_*177 6 service android

我对服务生命周期感到困惑.
我有很多问题如下:

  1. 如果我的应用程序startService()多次调用服务,是否会同时运行多个服务?还是只有一个?

  2. 首先,如果我bindService()在我的应用程序中多次调用服务,我的应用程序会发生什么?

  3. 假设我有一个已经启动的服务,startService()然后我绑定它以指示它做某事.在这种情况下,如果我指示(通过此Binder接口)服务执行其stopSelf()方法,运行的服务是否立即停止?

  4. 再次假设我有一个只能启动的服务bindService(),并且onUnbind被覆盖以返回true,在这种情况下,我应该stopSelf显式调用方法来关闭服务吗?

mil*_*ind -1

是的,您可以同时运行多个服务。但如果您正在使用某项服务,则必须小心谨慎。如果您正在启动一项服务,则必须通过任何方法(例如onDestroy()自定义方法)停止该服务,因为每当您完成活动时,该服务仍在后台运行。

还有一件事:仅当您需要媒体播放器等后台进程时才使用服务;否则,你可以通过活动来实现所有这些。

有关更多信息,请阅读Android 开发者服务文档。