4

このコードにより、surfaceCreated と surfaceDestroyed が数回呼び出されることがわかりました。

mSurfaceView.setVisibility(View.GONE);
mSurfaceView.setVisibility(View.VISIBLE);   

surfaceCreated と surfaceDestroyed が一度だけ呼び出されない理由を誰か教えてもらえますか?

4

1 に答える 1

4

、、メソッドSurfaceHolder.Callbackのそれぞれにロガーを実装して配置すると、これらの 2 行で次の出力が生成されることがわかります。surfaceDestroyedsurfaceCreatedsurfaceChanged

04-01 12:50:54.688: INFO/app(4842): SurfaceView destroyed!
04-01 12:50:54.688: INFO/app(4842): SurfaceView created!
04-01 12:50:54.718: INFO/app(4842): SurfaceView changed!

の呼び出しの前後に 2 つのブレークポイントを使用してsetVisibility、他のログをカウントしないようにしてください。

于 2013-04-01T12:57:33.653 に答える