我正在创建一个基于复杂数学表达式生成随机图像的Android应用程序。像素的颜色取决于其位置和所选表达式。 (我看到很多iPhone应用程序产生“随机艺术”,但是相对较少的Android应用程序)。如何使用SurfaceView绘制单个复杂图像
需要5到15秒才能在Nexus S dev手机上绘制图像。
为了保持UI线程的响应,这看起来像SurfaceView
类的目的。几乎所有SurfaceView
的例子都涉及动画,而不是一个复杂的图像。一旦图像完成绘制/渲染,我不会改变它,直到用户
因此,是SurfaceView
正确的组件使用?如果是这样,当完成渲染完成后,是否可以从SurfaceView
或其内部线程获取回调?回调是这样的,我知道用低分辨率图像艺术的低分辨率和块状版本切换可以吗?
是否有替代SurfaceView
的更适合单张图像的复杂渲染。 (不是动画)
干杯!
为什么不使用openGl? – slayton 2012-03-08 19:05:46
在普通SurfaceView中使用openGL(我认为是GLSurfaceView)有什么优势? – 2012-03-08 19:11:35
因为减速并非在渲染中,而是在计算中。将任意数学计算卸载到GLSL着色器语言是...挑战:)。使用NDK路线或使用RenderScript的Compute API可能是更好的选择。 – 2012-03-08 19:13:49