uni-app 整包安装更新本地缓存没有清除导致app崩溃无法点击

uni-app 整包安装更新本地缓存没有清除导致app崩溃无法点击

开发环境 版本号 项目创建方式
Windows win11专业版 24H2 HBuilderX
产品分类:uniapp/App

PC开发环境操作系统:Windows

PC开发环境操作系统版本号:win11专业版 24H2

HBuilderX类型:正式

HBuilderX版本号:4.66

手机系统:Android

手机系统版本号:Android 16

手机厂商:小米

手机机型:小米15

页面类型:vue

vue版本:vue3

打包方式:云端

App下载地址或H5网址:[https://h5coml.vivo.com.cn/h5coml/appdetail_h5/browser_v2/index.html?appId=4046064&resource=301&source=7](https://h5coml.vivo.com.cn/h5coml/appdetail_h5/browser_v2/index.html?appId=4046064&resource=301&source=7)

### 操作步骤:
- 更新后首页点击无响应

### 预期结果:
- 正常使用

### 实际结果:
- 无法点击且样式、图片丢失

### bug描述:
新版本中我们修改了首页样式、更换了部分图片,用户安装更新后部分样式丢失、图片丢失且页面点击无响应

![](https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20250630/8a8a023267e0418715f211442136fd13.jpg)

更多关于uni-app 整包安装更新本地缓存没有清除导致app崩溃无法点击的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app 整包安装更新本地缓存没有清除导致app崩溃无法点击的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个典型的整包更新后缓存未清除导致的兼容性问题。在uni-app中,整包更新时如果不主动清除缓存,旧版本的文件可能残留在本地,与新版本代码产生冲突。

解决方案:

  1. 强制清除缓存机制App.vueonLaunch中添加版本检测和缓存清理逻辑:
onLaunch: function() {
  const currentVersion = '1.0.1' // 当前版本号
  const storedVersion = uni.getStorageSync('app_version')
  
  if (storedVersion !== currentVersion) {
    // 清除本地缓存
    uni.clearStorageSync()
    // 清除所有页面栈并重启
    uni.reLaunch({
      url: '/pages/index/index'
    })
    // 存储新版本号
    uni.setStorageSync('app_version', currentVersion)
  }
}
回到顶部