Android 为什么surfaceChanged打了两次电话?

Android 为什么surfaceChanged打了两次电话?,android,surfaceview,Android,Surfaceview,我在android上使用SurfaceView播放视频,当我将比率从16:9模式更改为4:3模式时,我发现surfaceChanged回调调用了两次,这意味着该过程分两步完成:首先,重新调整大小的图片移动到屏幕左侧,然后它位于屏幕中心。转换发生时,这会导致图片抖动。视频内容是否正在更改大小,或者只是输出窗口?视频内容不会更改其大小,使用LayoutParams:RelativeLayout.LayoutParams lp=new RelativeLayout.LayoutParams()lp.a

我在android上使用SurfaceView播放视频,当我将比率从16:9模式更改为4:3模式时,我发现surfaceChanged回调调用了两次,这意味着该过程分两步完成:首先,重新调整大小的图片移动到屏幕左侧,然后它位于屏幕中心。转换发生时,这会导致图片抖动。

视频内容是否正在更改大小,或者只是输出窗口?视频内容不会更改其大小,使用LayoutParams:RelativeLayout.LayoutParams lp=new RelativeLayout.LayoutParams()lp.addRule更改输出窗口大小(在父对象中的相对位置);mSurfaceViewRoot.setLayoutParams(lp);