【发布时间】:2020-09-14 23:13:55
【问题描述】:
我创建的TabbedActivity 有问题。
我注意到如果我将我的应用程序置于后台,然后将其放回前台,屏幕会在重新出现布局之前黑屏片刻。看起来好像正在重新创建活动,但我已经确认在应用程序恢复时不会调用 onCreate()。
我在activity中的onResume()和onStart()方法中设置了断点,看看什么时候出现黑屏。当应用程序回到前台时,调用onStart(),然后调用onResume(),然后屏幕会瞬间黑屏。在此之后,布局重新出现。此处显示:
我想指出这个活动的onCreate() 和onResume() 方法除了调用它们的超类之外是空的。上面 gif 中显示的片段甚至没有覆盖 onResume() 或 onCreate() 方法。此外,在我的应用程序中不是选项卡式活动的其他活动中,不会发生这种行为 - 它只发生在 TabbedActivity 中。
如果需要更多信息,请告诉我,我很乐意提供。我只是不确定这个问题可能发生在哪里。
编辑:
我意识到当我注释掉另一个片段的onResume() 方法的内容时,这不再发生。该方法如下所示:
@Override
public void onResume() {
super.onResume();
System.out.println("RESUME");
if (mShowCamera != null)
{
mShowCamera.camera = null;
}
mCamera = Camera.open();
mShowCamera = new ShowCamera(getContext(), mCamera);
mMainCamLayout = (FrameLayout)getView().findViewById(R.id.camLayout);
mMainCamLayout.addView(mShowCamera);
Camera.Parameters cameraParameters = mCamera.getParameters();
cameraParameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO);
if (cameraParameters.getSupportedFocusModes() != null &&
cameraParameters.getSupportedFocusModes().contains(Camera.Parameters.FOCUS_MODE_CONTINUOUS_VIDEO))
{
mCamera.setParameters(cameraParameters);
}
}
【问题讨论】:
标签: java android android-activity