这只是一个知识问题,我知道这样做不是一个好习惯。所以这里是:

如果在运行时startService()呼叫了3次,是否必须呼叫3次以使其停止? (它有一堆等待的意图吗?)还是只有一次将其永久杀死?

最佳答案

如果服务已经运行了3次,我是否必须调用stopService 3次以使其停止?


否。一个stopService()就足够了。


  我知道这样做不是一个好习惯


是的。如果需要,您的活动(或任何正在调用startService()的活动)可以盲目调用startService(),而无需知道或关心该服务是否已启动并正在运行。例如,如果要实现IntentService来处理中型文件的下载,则活动可以调用startService()进行用户想要的任意数量的下载。请注意,尽管IntentService在没有更多工作要做时会自行停止。

08-03 19:05