在编写一个应用程序时,正确的考虑图形需求是至关重要的。最好是根据不同的图形任务来使用合适的图形技术。例如:相对静态应用程序而言,交互游戏应用的图形和动画会有很多差异。以下我们会讨论在Android平台上可以使用的几种图形描画的选项,以及它们最适用的场景。
Canvas and Drawables
Android平台提供一组View可视构件,它们提供与用户交互的一般化功能。还可以扩展这个可视构件,来修改它们的外观和行为。另外,还能够使用包含在Canvas或创建的Drawable对象中的各种描画方法来定制自己的2D渲染,如纹理按钮或帧动画等。
Hardware Acceleration
从Android3.0开始,能够使用硬件加速来完成由Canvas API所做的大多数描画任务,这样可以提供描画的性能。
OpenGL
Android平台用Adnroid框架API,以及原生开发工具包(NDK)来支持OpenGL ES 1.0和2.0。在想要把一些图形增强添加给没有被Canvas API所支持的应用程序,或者想要平台独立而且对性能要求不高时,可以考虑使用框架API。使用框架API会比NDK有一些性能上的损失,所以许多像游戏这样的图形密集型应用程序,使用NDK是有好处的(重要的是要注意,使用框架API也能够获得足够的性能。例如,Google Body应用程序就是完全使用框架API的)。如果有许多要移植到Android平台上的原生代码,那么使用NDK所带的OpenGL是有用的。有关使用NDK的更多信息,请阅读NDK download(http://developer.android.com/sdk/ndk/index.html) 的docs/目录中的文档。