2

在画布上绘图时如何避免图像闪烁。下面的代码继续运行图像。下一个图像从顶部滑动,但前一个图像一直在后面闪烁。我只是希望前一个图像变为静态。

void drawscreen()
{
    SurfaceHolder holder = getSurfaceHolder();
    try
    {
        Backgroundcanvas = holder.lockCanvas();
        if (Backgroundcanvas != null)
        {
            if (top == true)
            { slide_from_top(); }
        }
    }
    finally
    {
        if (Backgroundcanvas != null)
            holder.unlockCanvasAndPost(Backgroundcanvas);
    }

    mHandler.removeCallbacks(mUpdateDisplay);
    if (mVisible && count)
    {
        mHandler.postDelayed(mUpdateDisplay, interval);
        count = false;
    }
    else
    {
        mHandler.postDelayed(mUpdateDisplay, 100);
    }
}
4

2 回答 2

3

我也遇到了同样的问题, 在画布上绘图时图像闪烁

我所做的是每次使用画布绘图后让我的工作线程(不是 UI 线程)睡眠 10mlsec,这次闪烁消失了,

你可以试试这个技巧...

于 2013-03-02T19:16:35.787 回答
0

每个线程结束后清除画布。

只需调用Canvas.drawColor(Color.BLACK),或任何您想要清除画布的颜色。

于 2013-03-02T09:56:00.493 回答