Just thought I'd share a little tip when drawing onto a view using the .invalidate() function with you lovely people. All tutorials on here which I've seen so far all use MyView.invalidate();, which if your view is fullscreen is one cpu whore.
Its always better when drawing, especially on mobile devices with lower cpu's, to only ever draw exactly what you need. To do this we pass a Rect as the parameter to invalidate().
This will only redraw the specified area defined by Rect instead of the whole screen meaning less pressure on the cpu/gpu. Which is especially useful for any fullscreen or smooth animation.
Hope it helps someone