安卓端nvue环境下uni-app的image组件初次加载时会有闪白的问题

安卓端nvue环境下uni-app的image组件初次加载时会有闪白的问题

示例代码:

<image src="@static/img/minaliao.png" style="width: 750rpx; height: 1000rpx" />

操作步骤:

<image src="@static/img/minaliao.png" style="width: 750rpx; height: 1000rpx" />

预期结果:

希望image加载不要出现闪白。

实际结果:

进入包含image组件的新页面,image组件加载过程中,会有一瞬间的空白闪烁,观感十分差

bug描述:

进入包含image组件的新页面,image组件加载过程中,会有一瞬间的空白闪烁,观感十分差,是否有解决办法?

注1:我引用的是本地图片,大小不到10KB,理论上应该不存在加载过慢的可能性。 注2:这种情况只在安卓机出现,苹果机器下进入页面的时候,image就是加载好的。

信息 描述
产品分类 uniapp/App
PC开发环境 Windows
PC版本号 11
HBuilderX类型 正式
HBuilderX版本 4.65
手机系统 Android
手机版本号 Android 10
手机厂商 华为
手机机型 华为Mate 30
页面类型 nvue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

1899778781.rar


更多关于安卓端nvue环境下uni-app的image组件初次加载时会有闪白的问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于安卓端nvue环境下uni-app的image组件初次加载时会有闪白的问题的实战教程也可以访问 https://www.itying.com/category-93-b0.html


在安卓端 nvue 环境下,image 组件初次加载出现闪白是已知的渲染机制问题。这是由于安卓系统在图片解码和渲染完成前会先显示空白区域,尤其在页面切换时更明显。以下是几种有效的解决方案:

  1. 使用 background-image 替代
    在 nvue 中,<image> 组件由原生渲染,而 <view>background-image 属性在部分场景下加载更稳定。将代码改为:

    <view style="width:750rpx; height:1000rpx; background-image:url('@static/img/minaliao.png');"></view>
    
  2. 预加载关键图片
    在页面 onLoad 或应用启动时提前加载图片:

    const img = new Image();
    img.src = '/static/img/minaliao.png';
    
  3. 为图片容器设置背景色
    在图片加载期间设置与图片主色相近的背景色,减少视觉反差:

    <image src="@static/img/minaliao.png" style="width:750rpx; height:1000rpx; background-color:#F5F5F5;" />
    
  4. 启用图片缓存
    通过 uni.preloadImage 预载图片到内存缓存:

    uni.preloadImage({
      src: '/static/img/minaliao.png'
    });
回到顶部