我有一个带有surfaceview的android活动,它向用户显示摄像头的预览。当我在此活动上向左滑动时,将执行以下代码并使用动画启动新活动:
Intent I = new Intent(CameraScreen.this,ViewScreen.class);
startActivity(I);
overridePendingTransition(R.anim.fadein3, R.anim.fadeout3);
这个问题是执行下面的onPause方法会导致显示器首先变暗,因为相机预览停止并且整体转换非常滞后。现在,理想情况下,我将通过将活动转换为片段并使用ViewPager来解决此问题。问题是我需要尽快展示这个原型,我需要一个临时的解决方案来克服这种延迟和滞后的经验,这可以快速实施,并且不需要将活动转换为碎片。我想在启动意图之前应用延迟但是,我不确定如何执行此操作或是否可以解决问题。
@Override
protected void onPause() {
super.onPause();
if (mCamera != null) {
mCamera.stopPreview();
mCamera.setPreviewCallback(null);
mCameraView.getHolder().removeCallback(mCameraView);
mCamera.release();
mCamera = null;
FrameLayout camera_view = (FrameLayout) findViewById(R.id.camera_view);
camera_view.removeAllViews();
}
}