# 应用挂起或退出时，页面顶部闪现白条

#### 问题现象

应用挂起或退出时，应用页面的上方出现白色区域。

#### 背景知识

*   setWindowLayoutFullScreen：设置主窗口或子窗口的布局是否为沉浸式布局，使用Promise异步回调。系统窗口调用不生效。
*   expandSafeArea：控制组件扩展其安全区域。

#### 问题定位

*   排查代码中是否调用setWindowLayoutFullScreen(true)，如果没有设置沉浸式布局，只调用setWindowSystemBarProperties方法设置窗口内状态栏来实现沉浸式效果，会导致应用在挂起或退出时，上方闪现白条。
    
    ```
    import { window } from '@kit.ArkUI';
    
    @Entry
    @Component
    struct ErrorPage {
    
      aboutToAppear(): void {
        window.getLastWindow(this.getUIContext().getHostContext(), (err, windowClass) => {
          windowClass.setWindowLayoutFullScreen(false);
          windowClass.setWindowSystemBarProperties({
            statusBarColor: '#4d000000',  // 状态栏颜色
            statusBarContentColor: '#000'
          });
        });
      }
      build() {
        Column()
          .width('100%')
          .height('100%')
          .backgroundColor('#4d000000')
          .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.BOTTOM])
      }
    }
    ```
    
*   查看页面组件是否配置expandSafeArea属性，没有设置会导致应用挂起或退出时，上方闪现白条。如果有配置expandSafeArea，需要参照expandSafeArea文档中的说明部分排查是否生效。

#### 分析结论

*   仅通过setWindowSystemBarProperties方法实现沉浸式效果，未使用setWindowLayoutFullScreen方法，导致应用挂起或退出时，顶部闪现白条。
*   组件的expandSafeArea属性未设置或不生效，导致应用挂起或退出时，顶部闪现白条。

#### 修改建议

*   在进入页面或启动应用时调用setWindowLayoutFullScreen方法，传入参数值true，启用沉浸式布局。
    
    代码如下：
    
    ```
    import { window } from '@kit.ArkUI';
    
    @Entry
    @Component
    struct FullScreenTest {
    
      aboutToAppear(): void {
        window.getLastWindow(this.getUIContext().getHostContext(), (err, windowClass) => {
          windowClass.setWindowLayoutFullScreen(true);
        });
      }
      build() {
        Column()
          .width('100%')
          .height('100%')
          .backgroundColor('#f1f3f5')
      }
    }
    ```
    
    效果如下：
    
*   页面中的组件配置expandSafeArea属性，确保expandSafeArea属性生效，扩展组件的安全区域到状态栏。
    
    代码如下：
    
    ```
    @Entry
    @Component
    struct SafeAreaTest {
    
      build() {
        Column()
          .height('100%')
          .width('100%')
          .backgroundColor('#f1f3f5')
          .expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM])
      }
    }
    ```
    
    效果如下：