If I start a Service 3 times while it is already running, do I have to call stopService 3 times to make it stop?
No. One stopService()
is sufficient.
I know it's not a good practice to do so
Sure it is. If desired, your activity (or whatever is calling startService()
) can blindly call startService()
without knowing or caring whether the service is up and running. For example, if you are implementing an IntentService
for handling downloads of mid-sized files, the activity can call startService()
for as many downloads as the user wants. Note though that IntentService
stops itself when it has no more work to do.