OpenGL x Canvas
OpenGL will give you full control over the graphics you are using. You will not have many long-term limitations on what you would like to do. You can do a good 3D design on an Android using OpenGL, as you can process large amounts of polygons and overlay 2D graphics on top of anything. It's a lot of work, though.
The main difference is that OpenGL is much faster compared to Canvas (2D Graphics Android Surface Drawing). Although hardware acceleration is enabled for Canvas, it is somewhat difficult to use it effectively.
Canvas makes life easier. It's easy to use and simple to understand, even for someone new to Computer Graphics.
In the end, it will depend on what you need to do. If you need extravagant things like Geometry, lighting etc then you should definitely go for OpenGL. Also, if you need then OpenGL 3D is your only option, since Canvas only supports 2D graphics.
Drawble: A simple way to add graphics to your application by referring to an image file from your project resources. Supported file types are PNG (preferred), JPG (acceptable) and GIF (discouraged). This technique would obviously be preferred for application icons, logos or other graphics, such as those used in a game.
Source: link
Source: link