I just got my first Android 2.2 phone, the HTC G2. The subsonic app behaves differently than on my old G1. It used to be that I would pause the music and go use other apps then maybe a few hours later I would re-open Subsonic. By then Android will have ended the process so it starts anew. Subsonic would not remember the position inside the current song, but it would at least remember what track was being played from the current playlist.
Now that I have Android 2.2, if I do the same thing, Subsonic forgets the current track I was playing. It still remembers the playlist I had loaded, and the order of tracks (after hitting shuffle) but it's as if I had never started playing any of them. This only happens if Android ends the process to free up memory for other apps. Not if I simply go to my home screen and reopen Subsonic.
The only way I can get Subsonic to not forget my current track is to explicitly click the X button on the home screen to close it. Upon closing it will record the current track and restore it when I reopen the app. I wish I didn't have to do that, because sometimes the process would never have been terminated, and I just wasted a bunch of time explicitly closing the app and waiting for it to relaunch when it could have just recorded the current track automatically.
I'm sure there must be an event that can be handled when Android is about to end the process and you can save the current track then. If not, then the current track should be recorded every time a user presses Pause to ensure that it's not forgotten. It should also behave the same way when auto-paused from having the headphones removed.
Thanks!
