So from what I've known, if I do an AsyncTask
inside an Activity
, the task may be killed when user quits the Activity
before it is finished. One solution I've seen is using IntentService
, which the system will try hard not to kill.
My problem is that IntentService
only uses one background thread to run all the tasks one by one. I have several independent tasks that I wish to run concurrently, and that makes a difference in the UI (not serious, but could surprise user).
How do I accomplish this? I imagine I could have several IntentService
but this seems awkward and not scalable. How do I maintain sort of a threadpool that has a good priority, so that it won't get killed to easily by the system?
If I start a (normal) Service
, then launch some AsyncTask
s within there, does that result in a higher priority?
Many thanks.