使用Javascript界面绘制Android Surfaceview时闪烁

使用Javascript界面绘制Android Surfaceview时闪烁,javascript,android,canvas,surfaceview,flicker,Javascript,Android,Canvas,Surfaceview,Flicker,有一个网站,其中有一些小脚本来操纵画布。 例如,一些动画分形与良好的数学。 所有代码都是JavaScript 现在我正在制作一个应用程序,让这个脚本在Android上运行, 但由于它是纯JavaScript,我无法将代码转换为Android Java来操作SurfaceView 我做了一个表面视图和一个(隐藏的)网络视图。Webview运行动画的JavaScript代码。在WebView中,我还注入了一个接口(请参阅),以便使用Javascript触发可以操纵SurfaceView的函数 它工作

有一个网站,其中有一些小脚本来操纵画布。 例如,一些动画分形与良好的数学。 所有代码都是JavaScript

现在我正在制作一个应用程序,让这个脚本在Android上运行, 但由于它是纯JavaScript,我无法将代码转换为Android Java来操作SurfaceView

我做了一个表面视图和一个(隐藏的)网络视图。Webview运行动画的JavaScript代码。在WebView中,我还注入了一个接口(请参阅),以便使用Javascript触发可以操纵SurfaceView的函数

它工作!!!但并不完美

我正在测试的代码将使这些条从左到右和向后平滑移动:

功能u(t){
c、 宽度=1920//清除画布
对于(i=0;i我发现了

我确实在绘制一个矩形之前锁定了画布,并在绘制之后直接将其解锁,因为SurfaceView有一些缓冲()

现在,我只在
u(t)
函数之前锁定画布,然后才解锁画布。 这很有效

function u(t){
    c.width=1920 // clear the canvas
    for(i=0;i<9;i++)
    x.fillRect(400+i*100+S(t)*300,400,50,200) // draw 50x200 rects
}