title: Android Traceview - It holds the Answers to my Unresponsive App... I think
body: <p>Yesterday, I spent 12 hours becoming a student of Traceview. I didn't even know it existed (hangs head in shame) previous to this.</p>
  
  <p>Now that I've overcome the absolute shock of the data it produces, I find Traceview can be boiled down into a couple simple concepts:</p>
  
  <ol>
  <li>Sort by "EXCL CPU TIME" to determine exactly how much usage each individual method is using in isolation.</li>
  <li>Look at the frequency of calls and the cpu time/real time per call. Obviously higher calls should be looked into. In most of my experience, if you sort by #1 above, methods which are called too much and take too much time will also be at the top of the list (makes sense as they are also using the most CPU).</li>
  </ol>
  
  <p>Anyway, doing these two steps above I find 3-4 methods which are always using 90% of my CPU and taking up most of the real time delays in my app. The only problem is, none of these methods are methods I wrote, they are system methods such as:</p>
  
  <ol>
  <li>BitmapFactory methods</li>
  <li>WebKit methods</li>
  <li>And other system methods</li>
  </ol>
  
  <p>This being said, is it a correct to assume that if the top resource hogs are system methods, then it must have something to do with my design of my layouts? I am at a loss as to how BitmapFactory could be so high, my layouts aren't extremely complicated, though in one Activity BitmapFactory is taking 95% of resources itself.</p>
  
  <p><strong>TL;DR - If I run a Traceview, and if I find the top hogs of resources are all system methods, does this mean it's a layout issue? Or, how else can I tell why the system method is so high as it doesn't relate directly to my custom methods.</strong></p>
  
  <p>Thank you very much,
  Ryan</p>