I've been experimenting with using startAnimation (TranslateAnimation) on several Views in my app. What I've been noticing is that for every frame that Android interpolates, it sends an onDraw callback to every View on the screen for a full redraw, even if they are not affected. If I ignore the redraw on the presumably unaffected Views, they get cleared out, so I have no choice but to redraw. When I have about 20-30 Views on the screen, everything grinds down to very slow 1-2 fps animations because of all the redrawing. I never manually call Invalidate().
Is this normal? Am I doing something incorrectly? What alternatives do I have?