在 运行 服务上多次调用 startService()
Calling startService() multiple times on a running service
这只是一道知识题,我知道这样做不是一个好习惯。所以这里是:
如果我调用 startService()
3 次而它已经是 运行,我是否必须调用 stopService()
3 次才能让它停止? (是不是有一堆waiting intent?) 还是只用一次就完蛋了?
If I start a Service 3 times while it is already running, do I have to call stopService 3 times to make it stop?
没有。一个stopService()
就够了
I know it's not a good practice to do so
当然可以。如果需要,您的 activity(或调用 startService()
的任何东西)可以盲目调用 startService()
,而不知道或不关心服务是否已启动和 运行。例如,如果您要实现 IntentService
来处理中型文件的下载,那么 activity 可以调用 startService()
来处理用户想要的任意数量的下载。请注意,IntentService
在没有更多工作要做时会自行停止。
这只是一道知识题,我知道这样做不是一个好习惯。所以这里是:
如果我调用 startService()
3 次而它已经是 运行,我是否必须调用 stopService()
3 次才能让它停止? (是不是有一堆waiting intent?) 还是只用一次就完蛋了?
If I start a Service 3 times while it is already running, do I have to call stopService 3 times to make it stop?
没有。一个stopService()
就够了
I know it's not a good practice to do so
当然可以。如果需要,您的 activity(或调用 startService()
的任何东西)可以盲目调用 startService()
,而不知道或不关心服务是否已启动和 运行。例如,如果您要实现 IntentService
来处理中型文件的下载,那么 activity 可以调用 startService()
来处理用户想要的任意数量的下载。请注意,IntentService
在没有更多工作要做时会自行停止。