对于 Android画布游戏,我使用以下(最小化)方法来请求重绘SurfaceView: private void refreshView() { c = surfaceView.getHolder().lockCanvas(); synchronized (surfaceView.getHolder()) { surfaceView.onDraw(c); } 但是自从最后
private void refreshView() { c = surfaceView.getHolder().lockCanvas(); synchronized (surfaceView.getHolder()) { surfaceView.onDraw(c); }
但是自从最后一个android sdk(22.2.1)以来,它在surfaceView.onDraw上给了我一个Lint警告
Suspicious method call; should probably call “draw” rather than
“onDraw”
当我使用绘图而不是onDraw时,屏幕保持黑色.当我使用postInvalidate()时,渲染性能会降低.
有什么我做错了吗?有没有更好的方法来实现这个?
按照惯例,名为On ***的Android API方法不应该由您的代码直接调用,而只能由Android操作系统本身调用.我希望,有人会告诉你在这种情况下使用什么而不是它… 对于性能:如果性能成为问题,为什么不使用OpenGL? (或使用OpenGL的库)