title: Why is my layout completely redrawing when I invalidate one of it's views?
body: <p>I have a complex frame layout containing several custom views.  The main view is a graph.  </p>
  
  <p>Overlaying the graph is a custom view which represents a cross hair pointer that the user can drag around the graph to read off detailed information about a particular data point.</p>
  
  <p>The frame layout captures all touch events, calls "hit test" methods on each of it's child views to determine if the touch was on that view then dispatches the touch event to the appropriate view.</p>
  
  <p>When the user touches the cross hair and drags it, I pass the touch event to the cross hair which it uses to update it's position and invalidate itself.</p>
  
  <p>Everything is working except...</p>
  
  <p>All views in the layout are redrawing when I invalidate any of these child views.  I know this as I have turned on "show screen updates" in developer options. At no point do I invalidate the containing FrameLayout - or at least, not knowingly.  </p>
  
  <p>Certainly, the Activity handling the layout does not invalidate it and I do not have any references to the parent in the child views.</p>
  
  <p>I haven't posted code since a) I don't know if this might be normal behaviour, b) there's a lot of it! and c) if it's not normal behaviour, I don't know which part of the code is problematic.  Of course, I'm happy to give anything that might be requested.</p>
  
  <p>My minimum API is 2.3.3 and my target is 4.0.  This happens on both of those versions so I suspect my code is the problem but where to start? </p>
  
  <p>Any clues as to what might be going on?</p>