【发布时间】:2013-05-28 04:39:04
【问题描述】:
我是 Android 新手。我正在尝试使用表面视图开发游戏应用程序。该应用程序运行正常,但最后当我退出时,它在 onDraw() 方法上显示空指针异常并且应用程序崩溃。请帮助我并提前感谢。 这是我的代码:-
public class Gameloopthread extends Thread {
private Gameview view;
static final long fps=30;
boolean running;
public Gameloopthread(Gameview view)
{
this.view=view;
}
// we have to tell thread to shut down & wait for it to finish, or else
// it might touch the Surface after we return and explode
public void setRunning(Boolean run)
{
running=true;
}
@Override
public void run() {
long tickps=3000/fps;
long startTime=0;
long sleepTime;
while(running)
{
Canvas c=null;
try{
c=view.getHolder().lockCanvas();
//Log.d("Canvas==>",""+c);
synchronized(view.getHolder()){
view.onDraw(c);
}
}finally{
if(c!=null){
view.getHolder().unlockCanvasAndPost(c);
}
}
sleepTime=tickps-(System.currentTimeMillis()-startTime);
try{
if(sleepTime>0)
{
sleep(sleepTime);
}else{
sleep(30);
}
}catch(Exception e){
}
}
super.run();
}
//
}
【问题讨论】:
-
onDraw() 代码和 logcat 输出会很有用。
-
是的,请发布 logcat!
-
在 stackoverflow 中搜索此错误。有几个问题(包括我的一个)可以解决这个问题。
标签: android surfaceview