このコードにより、surfaceCreated と surfaceDestroyed が数回呼び出されることがわかりました。
mSurfaceView.setVisibility(View.GONE);
mSurfaceView.setVisibility(View.VISIBLE);
surfaceCreated と surfaceDestroyed が一度だけ呼び出されない理由を誰か教えてもらえますか?
このコードにより、surfaceCreated と surfaceDestroyed が数回呼び出されることがわかりました。
mSurfaceView.setVisibility(View.GONE);
mSurfaceView.setVisibility(View.VISIBLE);
surfaceCreated と surfaceDestroyed が一度だけ呼び出されない理由を誰か教えてもらえますか?
、、メソッドSurfaceHolder.Callback
のそれぞれにロガーを実装して配置すると、これらの 2 行で次の出力が生成されることがわかります。surfaceDestroyed
surfaceCreated
surfaceChanged
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
、他のログをカウントしないようにしてください。