Android的java.lang.IllegalArgumentException异常 [英] Android java.lang.IllegalArgumentException

查看:3967
本文介绍了Android的java.lang.IllegalArgumentException异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这可能是一个简单的回答,但我似乎无法得到正确的,我想我会问。
我得到了java.lang.IllegalArgumentException和显示java.lang.NullPointerException

This is probably a simple one to answer but I can't seem to get right and thought I would ask. I am getting a java.lang.IllegalArgumentException and a java.lang.NullPointerException

下面是错误记录

 03-20 13:13:22.872: E/SurfaceTextureClient(565): dequeueBuffer failed (No such device)
 03-20 13:13:22.879: E/BaseSurfaceHolder(565): Exception locking surface
 03-20 13:13:22.879: E/BaseSurfaceHolder(565): java.lang.IllegalArgumentException
 03-20 13:13:22.879: E/BaseSurfaceHolder(565): at android.view.Surface.lockCanvasNative(Native Method)
 03-20 13:13:22.879: E/BaseSurfaceHolder(565):  at android.view.Surface.lockCanvas(Surface.java:76)
 03-20 13:13:22.879: E/BaseSurfaceHolder(565):  at com.android.internal.view.BaseSurfaceHolder.internalLockCanvas(BaseSurfaceHolder.java:184)
 03-20 13:13:22.879: E/BaseSurfaceHolder(565):  at com.android.internal.view.BaseSurfaceHolder.lockCanvas(BaseSurfaceHolder.java:161)
 03-20 13:13:22.879: E/BaseSurfaceHolder(565):  at ca.watercity.CityActivity$Blimp.render(CityActivity.java:235)
 03-20 13:13:22.879: E/BaseSurfaceHolder(565):  at ca.city.CityActivity$CityThread.run(CityActivity.java:580)
 03-20 13:13:22.879: W/dalvikvm(565): threadid=11: thread exiting with uncaught exception (group=0x409c01f8)
 03-20 13:13:22.889: E/AndroidRuntime(565): FATAL EXCEPTION: Thread-79
 03-20 13:13:22.889: E/AndroidRuntime(565): java.lang.NullPointerException
 03-20 13:13:22.889: E/AndroidRuntime(565):     at ca.city.CityActivity$Blimp.render(CityActivity.java:237)
 03-20 13:13:22.889: E/AndroidRuntime(565):     at ca.city.CityActivity$CityThread.run(CityActivity.java:580)


 03-20 13:26:12.633: E/AndroidRuntime(564): java.lang.NullPointerException

下面是$ C $两行C它的影响。

Here is the two lines of code it's effecting.

 public void render(){
            Canvas canvas = null;
            try{
                // line 235
                canvas = this._surfaceHolder.lockCanvas(null);
                synchronized (this._surfaceHolder) {
                    canvas.save();
                    this.onDraw(canvas);
                    canvas.restore();
                }
            }finally{
                if(canvas != null){
                    this._surfaceHolder.unlockCanvasAndPost(canvas);
                }
            }   
        }

和本这些线code的。

and this these lines of code.

  @Override
        public void run() {
            while(this._running){
                this._blimp.render();
            }
        } // line 580

在此任何帮助将大大AP preciated。
谢谢你在前进。

Any help in this would be greatly appreciated. Thank you in advance.

推荐答案

你传递null以 SurfaceHolder.lockCanvas 。要使用 lockCanvas)的无参数版本(相反,假设你没有要被视为肮脏一个矩形。

You're passing null to SurfaceHolder.lockCanvas. You want to use the no argument version of lockCanvas() instead, assuming you don't have a rect that you want to be treated as dirty.

这篇关于Android的java.lang.IllegalArgumentException异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆