First let's understand that the display class in the Android platform is view, but also provides the underlying graphics class Android.graphics, which today is the graphics underlying graphics interface.
Bitmap-called bitmaps, the general bitmap file format suffix bmp, of course, there are many encoders such as RGB565, RGB888. As a per-pixel display object, the execution efficiency is high, but the disadvantage is obvious that the storage efficiency is low. We understand that it's better to have a storage object.
Drawable-as a generic graphic object for Android, it can load images in commonly used formats, such as GIF, PNG, JPG, and of course, BMP, and of course some advanced visualizations, such as gradients, graphics, etc.
Canvas-called canvas, we can be seen as a processing process, using a variety of methods to manage the bitmap, GL, or path path, while it can be used in conjunction with matrix matrices to do the image rotation, scaling and other operations, while the canvas class also provides cutting, selection and other operations.
Paint-we can think of it as a drawing tool such as brushes and brushes. He manages the font, color, and style of each drawing tool.
If you are involved in some Android game development, display effects can be used by these underlying graphics classes to efficiently implement their own applications.
The drawable, Bitmap, canvas, and paint relationships that Android developers should know about