我正在使用android & canvas,我的代码除了当显示分辨率改变(即。(旋转设备)应用程序强制和日志猫显示:
致命异常:线程-367 java.lang.NullPointerException 在...doDraw()
它将错误链接到的行包含:
canvas.drawARGB(255, 0, 0, 0);但我相信,只要它试图画一些东西,展示出我想要画的第一件东西,就不重要了。
这是我的运行循环:
@Override
public void run() {
while (mPlaying) {
Canvas c = null;
try {
c = mSurfaceHolder.lockCanvas(null);
synchronized (mSurfaceHolder) {
if (mPlaying == true) updatePosition();
doDraw(c);
}
} finally {
if (c != null) {
mSurfaceHolder.unlockCanvasAndPost(c);
}
}
}
}这是我直接从LunarLander示例中获取的。现在不是每次我旋转的时候都会发生碰撞,而是75%的情况。
有什么想法吗?谢谢:)
发布于 2012-09-10 16:57:46
这可能对你有帮助
if your android:targetSdkVersion="12" or less
android:configChanges="orientation|keyboardHidden">
if your android:targetSdkVersion="13" or more
android:configChanges="orientation|keyboardHidden|screenSize">https://stackoverflow.com/questions/12355934
复制相似问题