There's a little on threading in the communications chapter (doing network I/O on a different thread). I recommend Brian Goetz's book, Java Concurrency in Practice, for a deep dive on threading. I have a signed copy, and you can't have it.
IMHO threads are over-used. I'm guilty of doing this too. As a rule of thumb there should be one, maybe two threads per CPU core. If you have more than that you're just inviting problems with contention, switching overhead, and memory.
I'm not aware of any feature in Android that will kill certain threads but leave others running. Check your exception handling carefully and use the Log.d() and Log.e() functions to see what's going on, and simplify the program to eliminate unnecessary threads.