In this chapter, we've seen how to add different types of animation to our custom views, from using the ValueAnimator and ObjectAnimator classes of the property animator system of Android, to creating our own animations using time-based animation or using a fixed time step mechanism.
Android provides us with even more animation classes, such as the AnimatorSet where we could combine several animations and specify which one plays before or after another.
As a recommendation, we shouldn't reinvent the wheel and, if it is enough, try to use what Android offers or maybe just extend it with our specific needs, but if it doesn't fit don't try to force it, as maybe building your own animation might be simple and easier to maintain.
As with everything when developing software, use common sense and choose the best option available.
In the next chapter, we'll see how to improve the performance of our custom views. In our custom views, we're in full control of the drawing, so optimizing the draw method and resource allocation is critical to avoid making our application sluggish and save some battery from the user.