In my app, I use a service to communicate with our server. The Service spawns several message queue threads to deal with tasks with different priorities.
This model
I had the same problem when my service used the same process with activities(default). but no more problems when I made my service use another process. I edited my AndroidManifest.xml like below... (added android:process attribute)
see http://developer.android.com/guide/topics/manifest/service-element.html for information.