I am analysing the profile information using the DDMS trace view. I have notice that many of my slower functions appear to have strange gaps in the middle of them (see image)... its as if they decided to take a rest half way through and start up again. The profiling data was gathered using "trace based profiling" (as opposed to sample-based) so it should be the case that no function calls are missed. In the text info below, you can see that it says that 100% of the time is taken by "self" so the gap can not be explained by a call to some other function. If I click on the block of colour representing the function then the trace view joins up the two ends of the function with a bar over the top but I don't know what this means.
I am testing all this on an xperia Z phone which has a quad core processor.