Reputation: 10117
I have an android Service
called MyService
.
I have an Activity
with two buttons (start service/stop service).
When user clicks the button "start service", MyService
is started using
startService(new Intent(this, MyService.class));
When user clicks the button "stop service", MyService
is stopped using
stopService(new Intent(this, MyService.class));
In MyService
I create a Thread
T
that performs some long running task.
My question is: If the Service
is destroyed, is T
also destroyed even if it is still running?
Upvotes: 2
Views: 282
Reputation: 12410
No, ending a thread you explicitly created is not the responsibility of the Android framework. You need to extend onDestroy()
. Here is the javadoc for this method:
Called by the system to notify a Service that it is no longer used and is being removed. The service should clean up an resources it holds (threads, registered receivers, etc) at this point. Upon return, there will be no more calls in to this Service object and it is effectively dead. Do not call this method directly.
I would also suggest that you make your thread use Interrupts so that you can end it gracefully.
Upvotes: 2