roScreen uses the 2D API and depending on the device may have access to OpenGL. It can also be double buffered for top performance. The imagecanvas is a much higher level component with a simple interface. Simple interfaces generally involve multiple layers and not direct access. As far as drawing everything over you can use the composite/sprite feature of the 2D to emulate the layers of the inagecanvas. I have seen some pretty impressive work done with imagecanvas so if your happy with the results then stay with it. However, if you are the creative type you will eventually be led to use roScreen. It offers the best there is for those of us who do not have access to NDK.