I have the following queries related to the Service Class which are not very clear to me
Services run by default within the same main thread as the component from which they are launched. As such, any CPU intensive tasks that need to be performed by the service should take place within a new thread, thereby avoiding affecting the performance of the calling application.
Query : If that is the case why at all we need Services as another new component. Why not starting threads from the Application
Component instead of launching a Service and creating threads there.
2. Query : If we start new threads from an Activity , what would happen to them if Activity from which they were launched or the Application from which they were launched gets Destroyed ?
A Service is a very different beast than an Activity, with a completely different lifecycle. If the thread is supposed to have the lifecycle of the associated Activity, then yes - you can start it from an Activity.
As to#2, I think the thread gets terminated, but that should be easy to test, no?