[Motorola Droid and Milestone General] Morti:
Hi, everyone.

tl;dr: Phone calls kill the music player (presumably due to low memory), although the navigation keeps going. How can I stop it killing the music?

Bit of background.

I have a Milestone currently running CM7. I like Android 2.3, and I'd like to keep it if possible, but I would consider switching to any ROM that supports 2G/3G switching in Tasker (which means no stock ROMs) if it'll solve this problem.

I use my phone to provide music in my car because I use it almost constantly for navigation. I have a Tasker profile set up so that when I plug something into the headphone socket (including, for example, my tape deck adapter because I'm too poor to get a proper car dock) the phone asks if I want to go to car mode. On selecting this, it switches to 3G only (so as not to interfere with the speakers), turns off wifi, fires up GPS and starts Car Home, as well as activating some auto-respond and reading aloud profiles to deal with SMS. From there I normally hit Navigate and then get some music up either in the default player or Spotify.

So I was trying this out yesterday. Since updating to CM7 my phone seems to be able to more reliably keep music playing, whereas it'd often close the music app at the end of a song with CM6 (Spotify, oddly, was more reliable). Good. Until I get a phone call, at which point it kills the music player entirely, although the navigation does come back at the end of the call.

This makes sense. The call is more important than the navigation which is more important than the music so it kills the music. Thing is, I'd like to keep all three going. I hate driving without music and leaning over to fiddle with my phone while driving is going to get me killed one day.

I've used zeppelinrox's guide to supercharge my phone and I'm running with Auto Memory Manager at 6, 8, 24, 26, 28 and 30. I haven't bulletproofed the launcher... yet. Thing is I'd be happy for the launcher to die while I'm in my car so I'm not sure I want to do that. It's also running overclocked to 900MHz max on the interactive governor (or was, I've just this minute switched it to smartass but I doubt that matters).

My phone, incidentally, is doing nothing in particular right now and has 44MB free (I have a bunch of home screen widgets but I don't think I'm being excessive).

That's not a lot, it's probably not enough to run a music player, navigation and a phone call. I get that. But a phone with 256MB total RAM should be able to handle those three tasks simultaneously.

Here's what it does in my car that I care about (in priority order):

Taking calls.

Navigation.

Music (either the Android app or Spotify).

Tasker (sitting on my "in car" profile but not actively doing things unless I receive an SMS in which case it auto-replies).

Receiving text messages.

Car home.

Receiving emails.

Here's what I think it's doing that I don't care about:

Syncing Facebook/Twitter.

Software updates.

Home screen widgets.

Whatever else Android does when it's idle.

I've just had the notion while typing this that having Tasker disable sync while in the car might be a good move (to stop emails, Facebook and Twitter). This might free up extra memory. I don't know enough about Android to be sure of this, but I could give it a try. I'd rather not have to though because emails are sometimes important enough to pull over and deal with, or at least have my passenger read out. Facebook and Twitter aren't, obviously.

Any other tips? Would it be possible to build a script in Tasker to raise the priority of things I commonly use in my car and drop the priority of everything else? I'd also like to bulletproof my launcher while in normal use but not so much while I'm in the car.

Thanks.