diff --git a/ios/Classes/container/FLBFlutterViewContainer.m b/ios/Classes/container/FLBFlutterViewContainer.m
index 9350b478489e5ebbeb9aa278076f08a58988b844..ddc8f185a1532eda56094a3437c67727981398b3 100755
--- a/ios/Classes/container/FLBFlutterViewContainer.m
+++ b/ios/Classes/container/FLBFlutterViewContainer.m
@@ -262,7 +262,13 @@ static NSUInteger kInstanceCounter = 0;
                                                 pageName:_name
                                                   params:_params
                                                 uniqueId:self.uniqueIDString];
-    [self bridge_viewDidDisappear:animated];
+    //如果当前不可见vc和engine所持有的vc一致。在FlutterVC在混合栈中是最后一张页面,如tab中的页面
+    if (self == FLUTTER_VC)
+    {
+        [self surfaceUpdated:NO];
+        [self detatchFlutterEngine];
+    }
+    [super bridge_viewDidDisappear:animated];
 }
 
 - (void)installSplashScreenViewIfNecessary {