我正在使用线程处理壁纸并使用表面视图.我收到以下错误,无法解决它.有一个在他们告诉记者,有锁的顺序问题的答案surfaceHolder.lockcanvas()和surfaceHolder.unlockCanvasAndPost(canvas).但我检查,这是对的.请帮助某人.. LogCat如下:
07-06 12:58:24.459: E/SurfaceTextureClient(719): queueBuffer: error queuing buffer to SurfaceTexture, -19
07-06 12:58:24.459: E/SurfaceTextureClient(719): queueBuffer (handle=0x2a185508) failed (No such device)
07-06 12:58:24.470: W/System.err(719): java.lang.IllegalArgumentException
07-06 12:58:24.479: W/System.err(719): at android.view.Surface.nativeUnlockCanvasAndPost(Native Method)
07-06 12:58:24.489: W/System.err(719): at android.view.Surface.unlockCanvasAndPost(Surface.java:457)
07-06 12:58:24.489: W/System.err(719): at com.android.internal.view.BaseSurfaceHolder.unlockCanvasAndPost(BaseSurfaceHolder.java:215)
07-06 12:58:24.489: W/System.err(719): at com.shagun.sunsetlivewallpaper.BackgroundSelector$LeafThread.run(BackgroundSelector.java:160)
07-06 12:58:24.630: E/SurfaceTextureClient(719): dequeueBuffer failed (No such device)
07-06 12:58:24.649: E/InputEventReceiver(719): channel '40ee2318 com.shagun.sunsetlivewallpaper.WallpaperService (client)' ~ Publisher closed input channel or an error occurred. events=0x9
07-06 12:58:24.690: E/BaseSurfaceHolder(719): Exception locking …Run Code Online (Sandbox Code Playgroud) 在创建SurfaceView时,通常还要创建一个单独的线程来绘制到曲面上.是否更好的编程实践是在活动同时创建和销毁线程,或者同时表面是什么?
这两种方式有哪些优点/缺陷?