我使用自定义TextureView绘制动画。绘图在单独的线程中运行 - 这是绘图代码:
@Override
public void run() {
while (running) {
try {
Thread.sleep(currentFrameRate);
} catch (InterruptedException e) {
}
Canvas canvas = null;
try {
canvas = lockCanvas();
if (canvas != null)
canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
drawItems(canvas);
} finally {
if (canvas != null)
unlockCanvasAndPost(canvas);
}
}
}
我在LinearLayout中使用了其中两个控件 - 一个低于另一个。但有时在某些设备上,如果此时没有动画,则一个控件开始复制另一个。
感谢您提前。
UPD:也许有帮助 - 我的两个观点都放在了SurfaceView上。