【发布时间】:2013-10-01 19:28:22
【问题描述】:
对于 Android 画布游戏,我使用以下(最小化)方法请求重绘 SurfaceView:
private void refreshView() {
c = surfaceView.getHolder().lockCanvas();
synchronized (surfaceView.getHolder()) {
surfaceView.onDraw(c);
}
但自从上一个 android sdk (22.2.1) 以来,它在 surfaceView.onDraw
上给了我一个 Lint 警告可疑的方法调用;应该可能叫“画”而不是 "onDraw"
当我使用 draw 而不是 onDraw 时,屏幕保持黑色。当我使用 postInvalidate() 时,渲染性能会降低。
我做错了什么吗?有没有更好的方法来实现这一点?
【问题讨论】:
-
developer.android.com/reference/android/view/SurfaceView.html -
draw()是记录在案的将画布渲染到视图的方法。 -
@Simon 我知道,但 draw() 不会以某种方式调用 onDraw()。
标签: android performance android-canvas android-view