I just did an automatic update from ICS (4.0.4) to JB (4.1) on my android phone and it introduced multiple garbage collection calls when I run my app:
WAIT_FOR_CONCURRENT_GC blocked 30ms
I'm streaming video in my app and these blocked GC calls are almost doubling my latency, what do they mean?
That message is emitted in a couple of cases:
In either case, what's happening is that, in order to satisfy the request, the first step is waiting for the hot garbage collecting action that's taking place in another thread. Once that's done, then the thread can move onto what it was more directly asked to do (which might cause further garbage collection).
You can find the salient sources in platform/dalvik/vm/alloc, particularly Heap.cpp and Alloc.cpp.
All that said, I can't tell you why you're seeing more pauses in JB than in ICS.