uni-app 从后台进入APP时页面会出现闪动,有时候整体高度也被拉长了
uni-app 从后台进入APP时页面会出现闪动,有时候整体高度也被拉长了
操作步骤:
- 打开APP,然后进行锁屏
- 解锁,可以看到APP上下闪动了一下,有时候闪动后正常,有时候往下闪之后不会恢复正常位置
预期结果:
从后台进入页面不出现闪动,排版一切正常
实际结果:
从后台进入页面,经常出现上下闪动,有时候向下闪动之后不会向上闪动,出现了错位
bug描述:
从后台进入APP时页面会出现闪动,有时候整体高度也被拉长了
| 信息类别 | 详细信息 |
|---|---|
| 产品分类 | uniapp/App |
| PC开发环境操作系统 | Windows |
| PC开发环境操作系统版本号 | 10 |
| HBuilderX类型 | Alpha |
| HBuilderX版本号 | 3.1.21 |
| 手机系统 | Android |
| 手机系统版本号 | Android 11 |
| 手机厂商 | 小米 |
| 手机机型 | 小米9 |
| 页面类型 | vue |
| 打包方式 | 云端 |
| 项目创建方式 | HBuilderX |
更多关于uni-app 从后台进入APP时页面会出现闪动,有时候整体高度也被拉长了的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于uni-app 从后台进入APP时页面会出现闪动,有时候整体高度也被拉长了的实战教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个常见的 uni-app App 平台渲染问题,通常与页面生命周期和样式渲染时机有关。问题核心在于应用从后台切换到前台时,Webview 重新渲染与原生状态恢复不同步。
主要原因和解决方案:
-
页面生命周期与
onShow: 应用从后台进入前台会触发页面的onShow生命周期。如果页面初始化或onShow中有动态修改样式、获取高度等异步操作,可能导致渲染过程中出现短暂布局错乱。检查onShow中是否有不必要的 DOM 操作或样式计算。 -
全局样式与
100vh问题: 在 App 端,使用 CSS 单位100vh或100%设置页面高度时,可能会因为状态栏、导航栏等原生组件的高度变化引起页面高度被“拉长”。建议使用 CSS 的flex布局或固定高度替代百分比布局,或使用uni.getSystemInfoSync().windowHeight动态计算并设置高度。 -
页面滚动位置恢复: 应用进入后台时,系统可能保存了 Webview 的滚动位置,恢复时会导致页面偏移。可以在
onHide中手动记录滚动位置,在onShow中重置,或尝试在页面配置中设置"disableScroll": true(如无需滚动)。 -
使用
pages.json的style配置: 检查pages.json中对应页面的style配置,确保"app-plus"下的"bounce"设置为"none",避免页面回弹效果干扰:"style": { "app-plus": { "bounce": "none" } }

