이것은 아마도 간단한 대답 일지 모르지만 나는 옳은 것처럼 보이지 않아서 물어볼 것이라고 생각했습니다. 내가 java.lang.IllegalArgumentException를하고 java.lang.NullPointerException이 여기안드로이드 java.lang.IllegalArgumentException
을 얻고 여기에 오류 로그
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
이다가 초래있어 두 줄의 코드입니다.
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);
}
}
}
및이 코드 라인.
@Override
public void run() {
while(this._running){
this._blimp.render();
}
} // line 580
위의 사항에 큰 도움이 되었으면 도움이 될 것입니다. 미리 감사드립니다.
에 http : // 개발자. android.com/reference/android/view/SurfaceHolder.html#lockCanvas%28%29 – jjm
null 예외를 제거 했는데도 동일한 두 줄의 코드에서 java.lang.IllegalArgumentException 오류가 발생했습니다. 그 오류의 원인을 잘 모르겠지만, 이건 안드로이드 4에서 일어난다 고 언급해야합니다. 아래의 내용은 아무 문제가 없으며 단지 안드로이드 4 이상을 일으킬 것입니다. 어쩌면 그 버전과 관련이 있습니다. – user870286
나중에 그 별난 사람, 내가 그것을 주셔서 감사 드리며 문제의 절반을 없애 주셔서 감사합니다, 나는 누군가에게이 문제에 대한 답변이없는 한 대답을 찾으면 계속 게시 할 것입니다. – user870286