Android - Performance with Large Playlists

Posted:
Sat Jul 16, 2011 6:22 am
by jsr
Something that has been bugging me for a while is that when I'm playing music from my a large playlist (~500 songs) then the interface becomes really slow. When switching songs, the UI freezes for about 5 seconds on my Galaxy S. It turns out this is caused by the app serializing the current playlist every time you change tracks so it can restart where you left off if the app is closed. The quick fix for this was to move this serializing to a background task so it didn't lock up the UI every time.
Let me know if you try it and experience any issues.
Patch:
http://www.ragtop.org/upload/subsonic/perf-3.0.1.patch
Binary:
http://www.ragtop.org/upload/subsonic/subsonic-3.0.1.apk

Posted:
Tue Jul 19, 2011 8:23 pm
by radiopayola
I tried this, and it seems to work as advertised. I did my best to stress-test my droid 2 global by skipping tracks a bit, and the interface kept fairly smooth. Maybe some very slight stuttering from the background task...
I went back to the 3.01 client from the market to compare, and there was definitely quite a bit more sluggishness/freezing after skipping tracks. Do you think you could post a patched version of the 3.01 client? I haven't noticed any issues with 3.0, and I can't find a changelog for the android client...but I'm sure there was a good reason for the quick update. Hopefully, this fix will work its way into the next official version.
As an aside, it seems like the android client could stand to have a few other tasks "backgrounded" in some fashion. Simply pushing the 'select all' button locks my client up for a few seconds when I'm working with a large playlist. The android OS even asks if I want to 'wait' or 'force close' before the button graphic gives any visual cue that it's been pressed.
Straying further offtopic, my wife received an iPad as a gift from her job, and the iSub client is completely awesome. I'd love to see some of the options from iSub added into the Android client.

Posted:
Wed Jul 20, 2011 2:59 am
by jsr
Thanks for testing it out, radiopayola.
The links above have been updated for 3.01.