Android 我正试图关闭三个片段系列中的最后一个片段,但要关闭它并返回到上一个活动需要一些时间

Android 我正试图关闭三个片段系列中的最后一个片段,但要关闭它并返回到上一个活动需要一些时间,android,Android,逻辑如下所示: @Override public void onBackPressed() { super.onBackPressed(); int backStackCount = getSupportFragmentManager().getBackStackEntryCount(); Log.i("backcount", String.valueOf(backStackCount)); if (backStackCount == 0) {

逻辑如下所示:

 @Override
public void onBackPressed() {
    super.onBackPressed();
    int backStackCount = getSupportFragmentManager().getBackStackEntryCount();
    Log.i("backcount", String.valueOf(backStackCount));
    if (backStackCount == 0) {
        finish();
    } else {
        getFragmentManager().popBackStack();
    }
 }
A(活动)-B(活动)。 B有三个片段-->X-Y-Z

我的背压代码如下所示:

 @Override
public void onBackPressed() {
    super.onBackPressed();
    int backStackCount = getSupportFragmentManager().getBackStackEntryCount();
    Log.i("backcount", String.valueOf(backStackCount));
    if (backStackCount == 0) {
        finish();
    } else {
        getFragmentManager().popBackStack();
    }
 }

现在,当片段X关闭时,计数将为零,B(活动)将完成,A(活动)将加载,但返回到A需要一段时间,同时显示白色屏幕,我不明白发生了什么错误,我终于解决了问题。之所以显示,是因为X、Y和Z片段是通过addToBackStack()添加到堆栈的。但是不应该添加X,而应该通过addToBackStack()只添加Y和Z片段。

可能与您的活动A onCreate方法有关